📊 Python 数据分析从入门到实践
照着《Python 数据分析从入门到实践》(明日科技 高春艳、刘志铭 编著,吉林大学出版社,入门到实践系列·全彩版)做的自学笔记 —— 这本书和别本书不一样的地方在于它真的从装软件开始:第 1 章讲清数据分析是干什么的,第 2 章教你装 Python、PyCharm、Anaconda、Jupyter、IPython,第 3 章才第一次打开 Pandas,后面一路做到四个完整项目(MySQL 注册用户分析、京东电商预测、二手房房价预测、客户价值 RFM 分群)。六块节奏是「先装好,再学会,最后做项目」:先把数据分析讲清楚 13 篇(1~2 章,是什么/工具怎么选/环境怎么搭)→ Pandas 从入门到进阶 27 篇(3~4 章,Series/DataFrame、清洗、分组、合并、时间序列)→ 画出来算起来 22 篇(5~6 章,Matplotlib/Seaborn 画图、NumPy 算数组)→ 统计案例与机器学习 12 篇(7~8 章,同比环比、帕累托、相关性、Scikit-Learn)→ 四个真实项目 24 篇(9~12 章)→ 附录 A.1(PyCharm 快捷键)。三句话:先看清形状,再算平均,均值、中位数、众数说的是三件不同的事,拿错一个整段结论就反了;索引分标签和位置两套,混用是新手第一大坑,loc 认名字、iloc 认序号,行标签换过之后两者从此不是同一行;相关性高不等于能预测,广告费和收入一起涨,是因为都跟着销量走。教材 12 章加 1 个附录、88 个二级节,底下还挂着 212 个三级节和 230 多个快速示例,按节成篇会碎成两百多篇,所以按主题合成 99 篇、篇号章内顺排(附录记 A.1)。沙箱是 Windows / Python 3.13.14,这次装齐了:pandas 3.1.0、numpy 2.5.2、matplotlib 3.11.1、seaborn 0.13.2、scipy 1.18.1、scikit-learn 1.9.1、openpyxl 3.1.5、xlrd 2.0.2、jieba 0.42.1——能真跑的全真跑:教材里的 read_excel、groupby、merge、resample、sns.barplot、KMeans 一行不改直接跑;只有三类照实标——桌面软件(PyCharm/Anaconda 安装界面、MySQL 建库语句、Excel 菜单)标「本沙箱不执行」,需要外部数据集的自造一份并注明「数据是仿造的,结论按这份数据算」,plt.show() 一律改存 PNG。图里的字一律用英文——这台机器没装中文字体,中文标签会变成一排方框,那是缺字体不是缺数据。
内容来自我的 Obsidian 自学笔记 · 全书 12 章加 1 个附录、共 99 篇已全部写完 · 全书完结 🎉
第1章 数据分析基础
数据分析到底在做什么
数据分析是一套从脏数据走到能落地的结论的…
为什么值得花力气学
会算的人多,能把结论讲成决策的人少,这是…
流程前四步:从熟悉工具到处理数据
流程前四步全在动手之前:熟工具、定目的…
流程后四步:从分析到应用
分析与验证是反复来回的,结果呈现要看对面…
工具怎么选:Excel 还是 Python
Excel 够用就别上代码,超过一万行再…
第2章 搭建 Python 数据分析环境
Python 是什么、版本怎么选
Python 的版本号第二位变了就不保证…
装上 Python 与自带的 IDLE
装 Python 时勾上 Add to…
第一个程序和「python 不是内部命令」
「python 不是内部或外部命令」=…
PyCharm:从下载到跑通
PyCharm 的工程目录是项目根,解释…
Anaconda:一次装齐一整套
Anaconda 一装就带上几百个科学计…
Jupyter Notebook:代码和笔记同在一页
Notebook 的价值是一段代码一段话…
IPython 起步:装、跑、写、Tab 补全
IPython 里 Tab 不只是补全…
IPython 进阶:内省、魔法命令、调 Shell
问号查文档、百分号跑魔法命令、叹号调系统…
第3章 Pandas 入门
初识 Pandas:它凭什么当主力
Pandas 的两件兵器是 Series…
Series:带标签的一列数
Series 是一列数据加一列标签,标签…
Series 的索引与取值
loc 按标签取、iloc 按位置取,混…
DataFrame:一张能算的表格
DataFrame 是共享同一套行标签的…
DataFrame 的常用属性与函数
shape、dtypes、columns…
导入 Excel:从表里把数读进来
read_excel 的 sheet_n…
导入 csv、txt 和网页表格
csv 的编码和分隔符是最常见的两个失败…
抽取行:head、loc 与 iloc
head 看头几行,loc 按标签切,i…
抽取列与按条件筛选
条件筛选就是造一个布尔列,再拿它当索引
增加数据:加列与加行
加列直接赋值,加行要用 concat,别…
修改与删除
改列名用 rename,删行列用 dro…
数据清洗:缺失、重复、异常
缺失值先看清再决定填还是删,重复值看全部…
索引设置与排序排名
set_index 换行标签,reset…
第4章 Pandas 进阶
求和、均值、最大最小
sum、mean、max、min 默认按…
中位数与众数
中位数抗极端值,众数看出现最多的那个,可…
方差与标准差:谁的成绩更稳
方差和标准差量的是散的宽度,标准差回到原…
分位数:一刀切掉 35%
quantile(0.65) 就是「65…
数据格式化:小数位、百分比、千位分隔
格式化和改数值是两件事,format 只…
groupby:按类聚起来算
groupby 是「拆分、计算、合并」三…
分组之后:迭代、agg 与自定义函数
agg 能一次给不同列配不同函数,自定义…
用字典和 Series 分组
字典或 Series 当分组依据,等于手…
数据移位:shift 与升降比较
shift 把整列上下挪,和原列一减就是…
一列拆多列与行列转换
split 拆列、pivot 与 uns…
DataFrame 与字典、列表、元组、网页互转
to_dict、values、to_ht…
数据合并:merge 与 concat
merge 按 key 接、concat…
数据导出与日期处理
to_excel 写多张表要 Excel…
时间序列与两个综合案例
resample 换频率、rolling…
第5章 可视化数据分析图表
图表的作用与怎么选
先想清楚要比什么,再决定画哪种图
Matplotlib 初体验:第一张图
Matplotlib 的套路就三步:造画…
plot 函数与画布
figure 是纸,axes 是纸上的图…
坐标轴与刻度
xticks 管刻度位置和文字,xlim…
文本标签、标题、图例与注释
标题、轴标签、图例、注释四样齐全,图才算…
折线图与柱形图
折线看趋势、柱形比大小,x 轴是不是连续…
直方图:看清一列数的形状
直方图分的是区间,柱形图比的是类别,别混
饼形图与环形图
饼图只适合组分少于六份,环形图是它的空心…
散点图与面积图
散点看两个量的关系,面积图看累积的多少
热力图与箱形图
热力图拿颜色当第三维,箱形图一次给五个数
3D 图、子图与保存
subplot 是网格编号,subplo…
Seaborn 与五个综合案例
Seaborn 吃 DataFrame…
第6章 图解数组计算模块 NumPy
初识 NumPy:数组和列表差在哪
ndarray 是同类型定长的,所以能整…
创建数组的几种方式
array、zeros、ones、ful…
从数值范围创建数组
arange 管步长、linspace…
随机数组与随机种子
随机数不设种子每次都不一样,设了才能复现
从已有数组创建
asarray 不复制,array 会复…
数据类型与数组运算
数组运算逐元素、自动对齐形状,比写循环短…
索引与切片
二维切片是「先行后列」,一个逗号分开两件…
重塑与增、删、改、查
reshape 不改数据只改看法,元素总…
矩阵的基本操作
矩阵乘法用 @ 或 dot,星号只是逐元…
统计函数与两个综合案例
axis=0 顺着行走、axis=1 顺…
第7章 数据统计分析案例
对比分析:TOP10 怎么排
对比分析的前提是两个数说的是同一件事
同比、定比与环比
同比看去年同期,环比看上期,定比看固定基…
贡献度分析:帕累托法则
帕累托:前 20% 的品类常常贡献 80…
差异化分析:两组人真不一样吗
差异化分析先分组再看分布,只看均值会骗人
相关性分析:一起变不等于谁引起谁
相关系数在 −1 到 1 之间,0 只说…
时间序列分析:趋势与季节
时间序列要拆成趋势、季节、残差三块才看得…
第8章 机器学习 Scikit-Learn
Scikit-Learn 是什么、怎么装
Scikit-Learn 的统一接口是…
最小二乘回归:预测房价
最小二乘回归找的是让残差平方和最小的那条…
岭回归:给系数上缰绳
岭回归在损失里加一个系数平方惩罚,专治共…
支持向量机:画一条最宽的分界
支持向量机找的是间隔最大的那条分界
聚类:没有标签怎么分堆
聚类没有标准答案,KMeans 要你先说…
聚类数据生成器与评价
make_blobs 造带标签的测试数据…
第9章 网站 App 平台注册用户分析
项目概述、效果与准备
项目开始先把要回答的问题写成一句话,再谈…
导入 MySQL 数据
Python 连 MySQL 走 pym…
数据准备与检测
数据准备的核心是把日期列变成能按月分组的…
年度注册用户分析
年度注册用户分析:按年分组计数,再看增长
新注册用户分析与小结
新注册用户分析要看渠道和时间分布,不只看…
第10章 京东电商销售数据分析与预测
项目概述与分析方法
先定分析口径,再动手;口径变了数就全变
数据处理
数据处理是丢掉用不上的列、统一类型、处理…
日期数据统计并显示
日期转成 datetime 之后,按月按…
销售收入分析
销售收入分析要先看整体走势,再看构成
销售收入与广告费相关性
广告费和收入的相关性高,不等于加预算就能…
销售收入预测与评分
预测用回归,评分用 RMSE 或 R²…
第11章 二手房房价分析与预测系统
项目概述、效果与准备
预测类项目的难点在特征,不在模型
图表工具模块:饼、折线、条形
图表模块化:一个函数一张图,参数只留数据…
数据清洗
房价数据的脏在单位不统一和异常值,先清洗…
区域均价与占比
区域均价要连样本量一起看,样本太少的区不…
装修程度与热门户型
装修程度和户型都是类别变量,统计的是频数…
二手房房价预测
把面积、房龄、楼层喂给回归,预测值和真实…
第12章 Python 实现客户价值分析
项目概述、效果与准备
客户价值分析的目标是把客户分成能分别对待…
分析方法:RFM 模型与聚类
RFM 三个字母分别是最近一次消费、频次…
数据抽取与探索
RFM 的原始数据是一张订单流水,先按客…
计算 RFM 值
R、F、M 三个值量纲不同,算之前先标准…
数据转换与客户聚类
标准化之后才能聚类,否则金额会把另外两个…
标记客户类别
给每一堆客户起个业务上说得通的名字,聚类…
客户价值结果分析
结果分析要落回「这一堆客户该怎么做」,不…