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

如何使用Pandas将DataFrame内名称值转为唯一列标题并匹配对应日期索引数值

实现方法

你需要完成的是长格式DataFrame转宽格式的操作,Pandas有多种简便实现方式,以下是常用可行方案:

方法1:使用pivot方法(无重复日期+名称组合时推荐)

假设你的原始DataFrame命名为df,存储类别名称的列名为名称,存储对应数值的列名为数值,直接执行以下代码即可:

# 直接将名称字段值转为列标题,保留原有日期索引
result_df = df.pivot(columns='名称', values='数值')
# 若需要把空匹配位置的缺失值填充为0,可修改为下行代码
# result_df = df.pivot(columns='名称', values='数值').fillna(0)

方法2:使用pivot_table方法(存在重复日期+名称组合需聚合时推荐)

如果同一日期下同一个名称存在多条数值记录,需要先做聚合再转宽表,可以用pivot_table指定聚合规则:

# 示例为对重复值求和,可根据需求修改aggfunc参数为'mean'/'max'/'count'等
result_df = df.pivot_table(columns='名称', values='数值', aggfunc='sum')

方法3:使用多级索引+unstack实现

你也可以将名称列追加为二级索引后调用unstack方法完成转置:

result_df = df.set_index('名称', append=True)['数值'].unstack(level='名称')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:06:04