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

如何用Pandas将特定格式CSV转换为宽表格式?

Pandas长表转宽表实现方案

步骤1:为原始DataFrame指定列名

因为你读取CSV时设置了header=None,DataFrame的列默认是0,1,2,先给三列命名对应含义:

df.columns = ['file', 'field', 'value']

步骤2:使用pivot转换为宽表

利用Pandas的pivot方法直接完成长表到宽表的转换,指定file作为行标识,field转为表头,value填充对应单元格:

wide_df = df.pivot(index='file', columns='field', values='value').reset_index()
  • index='file':将file列作为行的唯一标识
  • columns='field':把field列的所有取值转为宽表的表头
  • reset_index():将file从索引列转回普通列,保证它是首列

处理重复值场景

如果同一个文件的同一个字段存在多条记录,pivot会抛出错误,此时可以用pivot_table指定聚合规则,比如取第一个值、求和或均值:

# 示例:取每个file+field组合的第一个值
wide_df = df.pivot_table(index='file', columns='field', values='value', aggfunc='first').reset_index()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 20:42:04