真正学Python数据分析需掌握三个关键动作:读得进数据、算得对逻辑、画得出结论;中文路径用原始字符串或正斜杠,CSV编码需显式指定或用chardet检测,groupby().agg()推荐命名元组语法,Jupyter绘图须配%matplotlib inline,导出图片要加bbox_inches参数。这个标题不是学习路线,也不是教程,它是一段被过度包装的营销话术。真正学 Python 数据分析,不需要追“第220讲”这种编号,需要的是搞清三个关键动作:读得进数据、算得对逻辑、画得出结论。
常见现象是 FileNotFoundError 报错路径不存在,或者读出来列名/内容全是 或空值。根本原因不是 pandas 有问题,而是没告诉它文件编码和系统路径处理方式。
r"C:\用户\张三\data.csv" 或正斜杠:"C:/用户/张三/data.csv"
pd.read_csv("data.csv", encoding="gbk")
chardet 检测:import chardet
with open("data.csv", "rb") as f:
print(chardet.detect(f.read(10000)))
比如写 df.groupby("city").agg({"sales": "sum", "profit": ["mean", "std"]}),结果列变成多级索引 (sales, sum) 和 (profit, mean),后续取列麻烦,导出也难看。
as_index=False 只解决索引问题,不改列名结构df.groupby("city").agg(
total_sales=("sales", "sum"),
avg_profit=("profit", "mean"),
std_profit=("profit", "std")
)rename(columns={...}),但别链式调用后又忘了赋值这不是代码错了,是 matplotlib 后端没配对。默认后端在脚本里能弹窗,在 Jupyter 里却只返回对象。
先用 %matplotlib inline(启动时就加,别放在画图之后)%matplotlib widget,但需提前装 ipympl
plt.savefig("plot.png", dpi=150, bbox_inches="tight"),漏掉 bbox_inches 常导致标题或坐标轴被截