ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

pandas 数据分析实战:从 Python for Data Analysis 的 notebook 到真实数据的完整学习路径

pandas 数据分析实战:从 Python for Data Analysis 的 notebook 到真实数据的完整学习路径

pandas 数据分析实战:从 Python for Data Analysis 的 notebook 到真实数据的完整学习路径

【免费下载链接】pydata-bookMaterials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media项目地址: https://gitcode.com/gh_mirrors/py/pydata-book

pydata-book 是 pandas 的创造者 Wes McKinney 所著《Python for Data Analysis》一书的开源配套资料,仓库里放着逐章的 IPython notebook 和 7 组真实数据集。适合刚学完 Python 基础、准备用 pandas 做数据分析的人:按"先加载一张 CSV,再啃乱格式文件,最后做时间序列与空间数据"的顺序走一遍,你能完整经历一次真实的数据处理流程,而不只是跑通几行 demo。

如何理清 13 个 notebook 的学习顺序

仓库根目录下有 13 个 .ipynb 文件,对应书里的第 2 章到第 13 章。如果你刚入门,建议从 ch05.ipynb(pandas 入门)开始:读完 Series 和 DataFrame 两个概念后,再按 ch06 数据加载 → ch07 数据清洗 → ch08 合并与变形 → ch09 可视化 → ch10 聚合分组 → ch11 时间序列的顺序推进,最后 ch13.ipynb 是全书的实战案例汇总。不必一口气跑完,每个 notebook 逐格运行一遍、对照注释消化,一次掌握一两招就够。

如何用 pandas 加载你的第一份真实数据集

如果只能挑一份文件来试 read_csv,推荐 245 行的 examples/tips.csv:total_bill(账单)、tip(小费)、smoker(是否吸烟)、day(星期)、time(早/晚)、size(人数)六列,无缺失值、无类型陷阱,很适合第一遍练习 groupby 和 pivot_table,比如"不同用餐时间的平均小费比例差多少"这类问题几行代码就有答案。上手后可以换 datasets/babynames/:131 个 yob 文件按年份存放,每行是"名字,性别,使用次数",例如 yob1920.txt 里的Mary,F,70974。这里的练习要动手得多——先把单年读进来,再拼接多个年份,观察 1880 到 2010 年之间常用名排名的漂移,正好把 ch06 讲到的文件加载方式用一遍。

数据不是 CSV 时,XML、.dat 与 parquet 怎么读

真实项目里的数据很少长得整整齐齐,书里为此备了三类麻烦文件。最典型的是 datasets/mta_perf/ 的纽约地铁性能数据:原始文件是 XML,配套的 parse.py 只有 16 行代码——用 lxml 把每个 INDICATOR 节点解析成字典,循环收集后一次性构造成 DataFrame。这套"逐节点拆成字典、最后拼表"的写法可以直接抄去处理其他 XML 报表。datasets/movielens/ 的 movies.dat、ratings.dat 没有表头,读入时要自己指定列名与分隔符。而 datasets/fec/ 同时给了 CSV 和 fec.parquet 两种格式,建议分别读一次做对比:parquet 读取更快、占用更小,这正是处理大文件时的现实选择。

当 pandas 遇上时间序列与地图数据

pandas 最常碰到的后两类问题,一是按日期索引的数据,二是带地理位置的数据。前者对应 examples/stock_px.csv:从 2003-01-02 开始、2200 多行的 AAPL、MSFT、XOM、SPX 每日收盘价,读入后用 parse_dates 把第一列设为时间索引,环比涨跌、波动率这类计算都可以顺着做。后者则是 datasets/haiti/ 目录:除了 Haiti.csv,还有一份海地太子港的 Shapefile 路网,样图大致是下面这样——

道路是线要素,CSV 是点与面信息,两者读进来配合,就能回答"某个设施离哪几条路更近"这类问题。这也是前面几节铺垫的加载、合并、聚合三步在这里的组合运用。

用 3 条命令开始 pandas 数据分析

环境只需搭一次:

git clone https://gitcode.com/gh_mirrors/py/pydata-book pip install -r requirements.txt jupyter notebook

requirements.txt 列了 numpy、pandas、matplotlib、lxml、seaborn 等 10 个依赖,装完在浏览器里打开 ch05.ipynb,上面的路线就可以开始了。

走完这条路线,你会带走一套可复用的动作:读不同格式的文件、合并多年份数据、按时间与位置做聚合。下一步可以回到 ch13.ipynb,挑一个书中的完整案例独立复现一遍。

【免费下载链接】pydata-bookMaterials and IPython notebooks for "Python for Data Analysis" by Wes McKinney, published by O'Reilly Media项目地址: https://gitcode.com/gh_mirrors/py/pydata-book

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

返回列表