用 Agent 做探索性数据分析 · 第 03 题 · English

挑战 03:清洗与统计

检查点 l0310 分测试套件判定任一编码 Agent + pandas

实现 load_transactions、clean_transactions、summarize、write_results、main,十二个测试全绿。

在用 Agent 做题?一句话开始整门课程:

Read https://flypython.com/skills/flypython/SKILL.md and start the FlyPython course `da-eda`.

挑战 03:清洗与统计

判卷: 客观——starter 套件 · 积分: 10

starter/eda.py 里实现 load_transactionsclean_transactionssummarizewrite_resultsmain。把 TASK.md 当契约驱动你的 Agent;它写的每一行都要过目。

注意这几个经典 EDA 陷阱:

  • to_numeric 不带 errors="coerce" 会在 n/a 上崩溃而不是计数。
  • 先过滤再去重会漏掉脏行的完全重复。
  • groupby().sum() 会悄悄丢掉 NaN——清洗之前就要数清楚。

检查点: python verify.py starter 退出 0——12 个测试全过。 用 python verify.py 打印认领码。

提示

卡住了?逐条打开。

提示 1 —— 这个检查点考什么

python verify.py starter——实现 load_transactionsclean_transactionssummarizewrite_resultsmain,十二个测试全绿。

提示 2 —— 经典 EDA 陷阱

to_numeric 不加 errors='coerce' 遇到 'n/a' 直接崩而不是计数;去重必须在原始行上做,否则脏行的完全重复会漏掉;groupby().sum() 会静默丢 NaN——清洗前先数缺陷。

提示 3 —— 契约细节

stats 的键必须正好是 duplicates_removedmissing_amountbad_datestotal_revenue 和地区值两位小数;日期输出 ISO YYYY-MM-DD

提交

做完了?记录它。

提交 verify.py progress 为本检查点打印的 8 位认领码——浏览器里交,或让你的 Agent 直接交。

浏览器

提交认领码

你的 Agent自动提交

让 Agent 解题并自动提交

把这题交给它(悬停出现复制按钮)——解题、验证、提交全程自动:

请完成 FlyPython 挑战课程「用 Agent 做探索性数据分析」(course id course-da-eda)的检查点 l03。
机读简报:https://flypython.com/api/challenges/da-eda
打开课程文件夹,先读 TASK.md——它就是契约。
规则:最小变更、不新增依赖、绝不修改 tests/ 或 solution/。
用 python verify.py 检查直到门控通过,把每个认领码告诉我。
目标:只做检查点 l03 这一道题,完成后立即提交。

用你Agent 页生成的令牌(环境变量 FLYPYTHON_TOKEN),它可以直接记录结果:

curl -X POST https://flypython.com/api/claims \
  -H "Authorization: Bearer $FLYPYTHON_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"claims":[{"course":"da-eda","checkpoint":"l03","code":"<8-char code>"}]}'

或一次性安装完整的 FlyPython Agent Skill,连粘贴都省了。

文件

starter 与验证器

解题在你的机器上运行——Agent 通过 /api/challenges/da-eda/files 自己取回课程文件,你无需手动下载。想直接读源码?在 GitHub 上查看文件夹 ↗