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

如何对DataFrame分组后将组内所有数据展开为多列展示

实现方案

核心思路

对hour列分组后给组内每行生成递增序号,再通过透视操作将行转列即可。

完整代码示例

import pandas as pd

# 模拟你的原始数据
df = pd.DataFrame({
    'hour': [1, 1, 2, 2, 2, 24],
    'x': [122, 133, 234, 245, 256, 232]
})

# 步骤1:为每个hour分组内的行生成序号,从1开始计数
df['seq'] = df.groupby('hour').cumcount() + 1

# 步骤2:透视转为宽表,重命名列名
result = df.pivot(index='hour', columns='seq', values='x')\
           .add_prefix('x')\
           .reset_index()

# 可选:如果希望空值位置填充为空白而非NaN,可在add_prefix前加上.fillna('')
# 示例:result = df.pivot(index='hour', columns='seq', values='x').fillna('').add_prefix('x').reset_index()

输出效果

最终result的结构和你需要的格式完全一致:

hourx1x2x3
1122133NaN
2234245256
24232NaNNaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:45:04