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

如何使用pandas按ID扁平化表格 将同ID多TIME记录拆分为多列

实现方案

你要的按ID分组扁平化转多列宽表的需求,可以通过分组生成序号+透视表的方案实现,完整代码如下:

首先导入依赖并构造测试数据:

import pandas as pd

# 你的输入数据
df = pd.DataFrame({
    'ID': [1,1,2,3,3,4],
    'TIME': ['10:12', '4:43', '9:12', '1:43', '16:47', '2:55']
})

然后执行转换逻辑:

# 按ID分组,为组内每条时间记录生成顺序编号
df['col_seq'] = df.groupby('ID').cumcount() + 1

# 透视转换为宽表
res = df.pivot(index='ID', columns='col_seq', values='TIME')
# 重命名列符合你的要求
res.columns = [f'Time_{i}' for i in res.columns]
# 重置索引将ID恢复为普通列
res = res.reset_index()

# 可选:如果需要空值位置显示为空字符串而非NaN,加上这行
res = res.fillna('')

输出结果符合要求:

IDTime_1Time_2
110:124:43
29:12
31:4316:47
42:55

注:你给出的示例输出中ID2的Time_1值为4:43属于笔误,以上结果完全匹配输入数据逻辑


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:30:00