news 2026/11/3 2:30:21

用 pandas_exercises 把 pandas 练到能上手干活

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
用 pandas_exercises 把 pandas 练到能上手干活

用 pandas_exercises 把 pandas 练到能上手干活

【免费下载链接】pandas_exercisesPractice your pandas skills!项目地址: https://gitcode.com/gh_mirrors/pa/pandas_exercises

教程看完,一碰几万行的 CSV 就卡壳:列名怎么改、缺失值藏在哪、分组统计怎么落,脑子里没底。pandas_exercises 就是用来补这个洞的——它只给题目、不给现成代码,把取数、筛选、分组、合并、时间序列和绘图拆成一格一格的小题,逼你一行行敲出来。

先拉仓库到本地,依赖一次性装齐就能开跑:

git clone https://gitcode.com/gh_mirrors/pa/pandas_exercises

项目的requirements.txt只锁了四个版本:numpy==1.13.1、matplotlib==2.0.2、seaborn==0.8.1、pandas==0.23.4。注意这几位是 2018 年前后的老版本,拿新环境跑老 notebook 偶尔会撞 API 变更。装依赖:

pip install -r requirements.txt

每个主题都是三件套:Exercises.ipynb(题目)、Solutions.ipynb(答案不带代码)和一份带代码注释的 Solutions。卡住时先翻不带代码的那份,能自己推出来再去看实现,比直接抄快得多。

先把六个能力维度和对应练习集摆在一起看,心里有张地图:

能力维度对应练习集
取数·建表·筛选排序01 Chipotle / 08 Pokemon / 02 Fictional_Army / 11 Indexing
分组聚合·函数·合并03 Regiment / 06 US_Baby_Names / 04 / 05 Auto_MPG
时间序列·缺失值·统计09 Apple_Stock / 10 Iris / 06 Wind_Stats
数据可视化07 Tips / 07 Titanic_Disaster

用 pandas 快速摸清原始数据结构(取数与类型转换)

拿到 CSV 第一件事不是分析,而是搞清楚它长什么样:形状、列名、索引、每列类型。Chipotle 让你从网上拉一份外卖订单,一路数到"最常被点的菜、总收入、客单价";Occupation 和 World_Food_Facts 换数据集重复同样动作,Pokemon 则反过来从字典手搓一个 DataFrame、调列顺序、补新列。典型场景:读完文件先head、shape、dtypes,再把带$和千分位逗号的价格列转成 float。这一关最磨的是类型判断——不先replace掉符号直接转类型会报错,价格列其实是字符串。

用布尔索引筛行并排好序(pandas 筛选与排序)

过滤和排序是日常清洗里出现频率最高的两个动作。Fictional_Army 一套题覆盖loc/iloc、按值筛选、按名字取行取列,Euro12 让你给球队按红黄牌排序、筛进球多的队,Chipotle 与 Indexing 再补索引的边角。典型场景:一个表达式筛出"红牌>5 或 黄牌>3"的行,再按黄牌降序排。适合刚学完布尔索引、想练手感的人。易错点:多条件要用&、|且每个条件加括号,写成and/or会抛 truth value 错误。

📊 用 groupby 回答分组统计(pandas 分组聚合与透视)

业务问题九成是"按 X 分一下,看每组的均值、总和、个数"。Regiment 练到按 regiment、company 两级分组求均值、遍历 group;Alcohol_Consumption 和 Occupation 换真实数据做同样的活,US_Baby_Names 再让你按名字 groupby 数出现次数、求中位数和标准差。典型场景:把学生表按 regiment、company 分组求 preTestScore 均值,再展开成普通列。新手常在这里卡住多级 index——它想当普通列用,就得reset_index(),否则列被收进索引里。

⚙️ 用 apply 做转换并拼成宽表(pandas 函数应用与多表合并)

有些转换没有现成函数,得自己写逻辑再广播到每行;还有些任务本来就是两张表拼一起。Students_Alcohol_Consumption 用 lambda 把姓名列首字母大写、再按十年分组;US_Crime_Rates 把 Year 转 datetime 后按十年 sum。合并这边 Auto_MPG 把 cars1、cars2 拼成一张表并补 owners 列,Housing_Market 演示 concat 和 reindex。典型场景:两个 cars 表 merge 成宽表,再随机补一列。易错有两处:merge 后重名列会带_x/_y后缀,apply 返回的是新对象、不会改原表。

📅 把数据摆上时间轴并清干净(pandas 时间序列与缺失值)

带日期的数据要能重采样、取月末、算间隔;脏数据则要先填或删。Apple_Stock 把股价转 DatetimeIndex、取每月最后一个交易日、画 13.5×9 的图;Iris 和 Wine 专门练drop、dropna、按值填充 1.0/100;Wind_Stats 在满是 NaN 的风速数据上做 min/max/mean/std。典型场景:股票数据转 DatetimeIndex、重采样到月末、去掉空行。易错点:年份被读成 2061 要先修数据再设索引,重采样会补出无数据的月、得再 drop 掉。

📈 用图把分析结论讲清楚(pandas 数据可视化)

算出来的数不画出来,别人看不出结论。Tips 基于 seaborn 练直方图、散点、箱线图,还要求把 Dinner/Lunch 并排放两张;Titanic_Disaster 做男女比例饼图、按性别上色的散点和票价直方图;Online_Retail 与 Scores 再补大表和分数的表达。典型场景:把账单金额与 tip 画散点,再按 day 分箱线。这一关最考"把结论选对图",seaborn 版本偏老,画图 API 跟新文档对不上时照 notebook 走即可。

💡 几个省时间的做法与容易踩的坑

  • 价格、年份列先replace掉$、,再astype(float)——to_numeric一碰符号就抛错,别等报错再补。
  • 布尔组合写&、|并给每个条件加括号,而不是and、or——后者对 Series 报 truth value 错误。
  • apply的结果要df['col'] = ...赋值回去,它返回新对象、原表不动,这是最容易以为"已经改了"的坑。
  • 多级 groupby 想当普通列用就reset_index();老版本锁了 pandas 0.23,read_csv、to_datetime的行为跟新版略有出入,照 notebook 来别凭记忆。

刷完这几组,自测一下

  • 面对一份陌生 CSV,能否在几秒内说出它的形状、列名和每列类型?
  • 能否只用一个布尔表达式筛出"红牌>5 或 黄牌>3"的行并排序?
  • 能否用两级 groupby 算出每个 regiment、company 的平均分并展开成普通列?
  • 能否用 apply + lambda 完成列内字符串转换,并正确赋值回原 DataFrame?
  • 能否把两个 cars 表合并成一张宽表并补齐缺失列?
  • 能否把股票数据转成 DatetimeIndex、重采样到月末并清掉 NaN?

题量不重,一个主题一晚上能刷完,配 Solutions 对照改一遍,手感就出来了。

【免费下载链接】pandas_exercisesPractice your pandas skills!项目地址: https://gitcode.com/gh_mirrors/pa/pandas_exercises

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/3 2:29:55

【鸿蒙心迹】HarmonyOS笔记18:自定义组件拆分与复用

🔥 个人主页: 杨利杰YJlio ❄️ 个人专栏: 《Windows 疑难杂症与工单复盘案例库》 《Sysinternals实战教程》 《WINDOWS教程》 《Windows PowerShell 实战》 《IOS插件分析测试》 《超简单:用Python让Excel飞起来》…

作者头像 李华
网站建设 2026/11/3 2:29:55

Android定制实战:从 SettingsIntelligence 源码定位应用搜索结果过滤点

场景承接上篇《让指定系统应用在“所有应用”列表中隐身》:应用列表已经通过 ApplicationsState.FILTER_NOT_HIDE 过滤掉了,但用户在设置顶部搜索框里输入应用名,依然能搜到它。本文记录这条搜索链路的完整定位过程与修改方案。一、问题&…

作者头像 李华
网站建设 2026/11/3 2:28:29

在 Mac 上运行 Windows 程序:5 分钟上手的 Whisky 使用指南

在 Mac 上运行 Windows 程序:5 分钟上手的 Whisky 使用指南 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky Whisky 是一个基于 Wine 的 macOS 图形化工具,让你…

作者头像 李华
网站建设 2026/11/3 2:26:59

没有对齐录音也能训?拆 SheetSage2 + MERT2 如何给 YuE2 造监督信号

没有对齐录音也能训?拆 SheetSage2 MERT2 如何给 YuE2 造监督信号 在大模型音乐生成这条赛道上,"数据从哪来"往往比"模型长什么样"更能决定上限。语音合成领域可以靠海量带逐字时间戳的标注语料训练 TTS,而全曲音乐生成…

作者头像 李华