You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pivot Tables或Group By修改Pandas Dataframe并导出指定CSV

Pandas Dataframe转特定格式CSV解决方案

原代码问题点

  • 分组语法错误:groupby('Sample ID','ANALYTE') 多列分组必须用列表,而且执行get_dummies后ANALYTE已经转成列,不再是可分组的字段
  • 逻辑绕远:先设多索引再做哑变量的操作,不仅复杂还会丢失Result_F的实际检测值(目标CSV需要的是结果数值,不是0/1标记)

正确实现代码

要把ANALYTE的不同取值转成表头,同时保留Sample ID、Sample Date和对应Result_F数值,用pivot_table一步就能搞定:

# 生成符合要求的宽表
df2 = SAMPDATA_w.pivot_table(
    index=['Sample ID', 'Sample Date'],  # 保留的标识列
    columns='ANALYTE',                  # 要转成表头的字段
    values='Result_F',                  # 对应填充的数值
    aggfunc='max'                       # 同指标多结果时取最大值,按需换成'first'取第一个
).reset_index()

# 清除列层级名称,让表头直接显示指标名
df2.columns.name = None

# 导出CSV,不带索引列
df2.to_csv('适配上传的文件.csv', index=False)

额外调整建议

  • 如果需要把缺失值换成特定内容(比如空字符串或0),可以在reset_index()后加.fillna('')或.fillna(0)
  • 要是原始数据里Sample ID+Sample Date+ANALYTE是唯一组合,用aggfunc='first'会更准确

内容的提问来源于stack exchange,提问作者Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 09:42:07