Pandas 数据分析实战#
Pandas 是做数据分析绕不开的工具,市面上任何一个数据分析岗位的 JD 里,几乎都写着「熟练使用 Pandas」。但对刚学会 Python 的你来说,它看起来又有点吓人,因为各种类似方法名混在一起会让你觉得不知所措。
不过好消息是:Pandas 的核心用法其实就那么几个,而且用起来非常像你熟悉的 Excel。本课程就把这几十个常用的知识点拆成 5 章,每章配 5 道练习和 10 个常见问题,带你从拿到一张表不知道从哪下手,走到能独立完成一次完整的数据清洗与汇总。
小提示: 在学习过程中记不着每个方法的作用没关系,只要你跟者本课程的每一个示例动手练习一次,留下印象以后,等再次遇到的时候再回过头来查看一次就会逐渐完全掌握。
适合谁#
刚学完 Python 基础(会写函数、会用列表和字典),但没怎么用过 Pandas;
工作中需要经常处理 Excel、CSV 数据,希望把这活儿干得又快又稳;
学过一点 Pandas,但总在
loc和iloc、或者count和size之间反复搞混。
学习前需要准备#
只需要三样东西:
一个 Python 环境。建议 Python 3.9 及以上。
装好 Pandas:
pip install pandas一个编辑器,初学者建议安装 Jupyter Notebook ,因为它是最适合跟着本文敲代码——每写一格就能立刻看到结果,不用反复
print。
如果对于以上内容还不熟悉的话,可以分别参见 「Conda安装教程:机器学习环境配置与使用入门」 和 「机器学习开发环境安装配置:Jupyter Notebook 与 PyCharm 使用教程」 来安装 Python 和 Jupyter Notebook 。
课程结构#
| 章节 | 主题 | 你会学到 |
|---|---|---|
| 第 1 章 | 数据加载与查看 | 用字典造 DataFrame、看形状、选列、看数据类型、预览头尾 |
| 第 2 章 | 索引与数据选择 | loc / iloc、布尔筛选、设置与重置索引 |
| 第 3 章 | 数据清洗 | 处理缺失值、删重复、改列名、替换值、转数据类型 |
| 第 4 章 | 聚合与分组 | groupby、聚合函数、透视表、交叉表、多级分组 |
| 第 5 章 | 数据合并与重塑 | merge、concat、宽长格式互转、自定义变换 |
同时,我们把每一章的内容都拆成三节,并按照同一个顺序进行了组织:
第 X.1 节 核心知识点:把这一章要用的方法讲清楚,配可运行代码;
第 X.2 节 编程练习:5 道动手题,先自己写,再看答案;
第 X.3 节 常见问题:10 个初学者最容易踩的坑,附解答。
一个贯穿全课程的例子#
为了让你不用反复更换数据集,全课程都用同一张「订单表」。你在第 1 章把它创建出来以后,后面 4 章都会一直使用它:
import pandas as pd
data = {
"订单号": [1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008],
"下单日期": ["2024-01-05", "2024-01-08", "2024-01-12", "2024-02-03",
"2024-02-15", "2024-03-02", "2024-03-20", "2024-04-08"],
"城市": ["北京", "上海", "北京", "广州", "上海", "北京", "深圳", "广州"],
"商品": ["手机", "电脑", "耳机", "手机", "键盘", "显示器", "耳机", "手机"],
"销量": [2, 1, 3, 2, 5, 1, 4, 2],
"单价": [3999.0, 7999.0, 599.0, 3999.0, 299.0, 1299.0, 599.0, 3999.0],
"金额": [7998.0, 7999.0, 1797.0, 7998.0, 1495.0, 1299.0, 2396.0, 7998.0],
"客户评分": [4.5, 4.0, 4.8, 3.9, 4.2, 4.6, 4.1, 4.9],
}
df = pd.DataFrame(data)就上面这么几行代码,就是你接下来要持续折腾的对象。它有 8 行 8 列,装着某电商平台 8 笔订单的编号、日期、城市、商品、销量、单价、金额和客户评分。
怎么用这门课#
别一口气读完五个章节。更实在的做法是:
打开一个 Notebook,把例子抄进去,真的跑一遍;
看到输出和文章里写的不一样,停下来查清楚为什么;
做第 X.2 节的练习,先别看答案,卡住了再看;
第 X.3 节不用通读,等你真的被某个问题绊倒时再回来查也可以。
一个提醒 Pandas 的方法很多,但日常真正高频用的就二三十个。这门课只讲这些。遇到课程里没讲的方法时,先别急着背 API,直接去官方文档搜一下关键词——通常5秒钟就能找到答案。