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

Pandas DataFrame特定格式转换:按日期规整Leg数据

解决方案

你可以使用Pandas的pivot方法直接实现这种数据重塑,它能将指定的行、列和值重新排列成你需要的格式,缺失的自动填充为NaN(对应你需求里的X):

import pandas as pd
data = [[1,11,2],[2,11,3],[1,22,7],[2,22,8],[3,22,9],[1,33,15],[2,33,16],[3,33,17],[4,33,18],[5,33,19]]
df = pd.DataFrame(data,columns=['Date','Leg','Amt'])

# 执行透视转换
result = df.pivot(index='Date', columns='Leg', values='Amt')
print(result)

输出结果:

Leg     11    22    33
Date                  
1      2.0   7.0  15.0
2      3.0   8.0  16.0
3      NaN   9.0  17.0
4      NaN   NaN  18.0
5      NaN   NaN  19.0

如果需要把NaN替换成你指定的X,可以追加fillna方法:

result_with_x = result.fillna('X')
print(result_with_x)

输出结果:

Leg  11  22  33
Date           
1     2   7  15
2     3   8  16
3     X   9  17
4     X   X  18
5     X   X  19

说明

  • pivot方法的参数:
    • index:指定作为结果行索引的列(这里是Date)
    • columns:指定作为结果列的列(这里是Leg)
    • values:指定填充到单元格中的值(这里是Amt)
  • 如果你的数据存在Date和Leg的重复组合(即同一个日期同一个Leg有多条Amt记录),可以改用pivot_table并指定聚合方式(比如aggfunc='sum')来处理重复值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:00:24