【课前导读】
你好,我是贺强。
这是《CDA Pro 进阶版》的第七课。
在上一章,我们学会了用 SQL 从数据库里“取数”。
但是,取出来的数据怎么分析?
如果数据只有 1 万行,你可以导出来用 Excel 做透视表。
但如果数据有500 万行呢?
或者老板让你每天早上 9 点准时把分析报告发到他邮箱,难道你每天都要手动做一遍 Excel 吗?
这时候,Excel 就成了你的瓶颈。你需要一把工业级的重锤——Python。
别怕,作为分析师,我们不需要像程序员那样学 Python。
我们只需要学它的一个库:Pandas。
今天这节课,我把 Python 变成你的“超级 Excel”。
一、 为什么要弃用 Excel?—— 量级与自动化
Excel 是全世界最好的“草稿纸”,但它不是“流水线”。
当面临以下三个场景时,请果断切换到 Python:
1. 数据量级爆炸
Excel 的上限是 104 万行,但超过 10 万行就会卡顿。Python (Pandas) 是在内存中计算,只要你内存够大(现在的电脑通常都够),处理1000 万行数据跟玩一样,速度快 10 倍以上。
2. 重复劳动过多
你每个月都要做“月报”。用 Excel,你每个月都要重复“打开-复制-粘贴-调整格式”的动作,浪费生命。
用 Python,写好一次代码,以后每个月只需点击“运行”,1 秒钟出结果。
3. 逻辑复用
Excel 的公式藏在格子里,很难检查错误。Python 的代码逻辑清晰,错了立马能看到在哪一行。
二、 认识 Pandas:它就是“没界面的 Excel”
Pandas 是 Python 最核心的数据分析库。
它的核心对象叫DataFrame(数据框)。
听起来很高级,其实它就是一张表。
Index (索引):就是 Excel 的行号 (1, 2, 3...)。
Columns (列名):就是 Excel 的表头 (A, B, C...)。
Values (值):就是单元格里的数据。
只要你心里有“表”,写 Pandas 代码就是填空题。
三、 核心映射:把 Excel 操作翻译成 Python
我整理了一份“Excel -> Pandas 翻译字典”。
学会这 5 句代码,你就能解决 80% 的工作。
1. 打开文件 (Open)
Excel:双击data.xlsx。
python:
df = pd.read_excel('data.xlsx')# 或者读取 CSV (更常见)df = pd.read_csv('data.csv')
2. 偷看一眼 (Preview)
Excel:滚动鼠标看前几行。
Python:
df.head() # 默认看前 5 行,防止数据量太大刷屏
3. 筛选数据 (Filter) —— 比如“只看北京地区”
Excel:点击表头 -> 筛选 -> 勾选“北京”。
Python:
# 语法逻辑:表[ 条件 ]df_beijing = df[ df['城市'] == '北京' ]
4. 数据透视表 (Pivot Table) —— 必杀技
Excel:插入 -> 数据透视表 -> 拖拽行列。
Python:
# 几乎一模一样table = pd.pivot_table(df, index='城市', # 行维度 values='销售额', # 算什么 aggfunc='sum') # 怎么算 (求和)
5. VLOOKUP (匹配)
Excel:=VLOOKUP(A2, Sheet2!A:B, 2, 0),极其容易出错。
Python:记得上一课学的LEFT JOIN吗?Pandas 完美支持。
Python:
# 这里的 merge 就是 SQL 里的 joinresult = pd.merge(订单表, 用户表, on='用户ID', how='left')
四、 贺强 Pro 实战:一行代码清洗“脏数据”
数据从来都不是干净的。
在 Excel 里,处理“空值”、“重复值”、“日期格式错误”非常麻烦。
在 Pandas 里,这是最爽的时刻。
1. 删除重复行 (去重)
Python:
df.drop_duplicates(inplace=True)# 搞定!Excel 里你要点好几下,这里只要一行。
2. 填充空值
Python:
# 把所有没填年龄的人,都填成 0df['年龄'].fillna(0, inplace=True)
3. 批量计算
如果你想把“美元”列全部换算成“人民币”(乘以 7.2)。
Excel:写一个公式,然后下拉 10 万行(电脑可能会卡死)。
Python:
# 它是“列运算”,一瞬间完成df['人民币'] = df['美元'] * 7.2
五、 结语
不要被代码吓倒。
Python 不是要取代你的逻辑,而是解放你的双手。
当你第一次体验到 100 万行数据在 3 秒钟内跑出透视表结果时,你绝对会爱上这种“掌控感”。
现在数据取出来了(SQL),也洗干净算好了(Pandas)。
虽然 Pandas 也能算出数字,但老板不喜欢看黑底白字的表格,老板喜欢看图。
Python 画出的图,比 Excel 好看一万倍。
下一课,我们将介绍 Python 的可视化双雄 ——Matplotlib和Seaborn。
也就是我们这个专栏里所有漂亮插图背后的工具。
第08课:Python 基础 (下):让数据会说话,Matplotlib 与 Seaborn 绘图