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

pandas中如何将GroupBy对象转换为多层索引DataFrame

实现方法

groupby.cumcount()不会触发聚合操作,返回值是与原DataFrame索引对齐、等长的序列,可直接赋值为原表新列,无需将GroupBy对象转换为DataFrame。

代码示例

# 假设原始数据存储在变量df中
# 新增组内计数列n:同一placa_encoded分组内按原始行顺序从0开始编号
df['n'] = df.groupby('placa_encoded').cumcount()

# 设置多层索引,筛选调整列顺序得到目标结构
df_target = df.set_index(['placa_encoded', 'n'])[['time_seconds', 'velocidade', 'codcet']]

逻辑说明

  • 计数规则与需求完全匹配:分组内序号从0开始,和样例目标的n列取值一致
  • 所有原始行数据完整保留,不会出现聚合类方法(如count()、agg())压缩行数的问题
  • 若需保留date字段,只需在列选择列表中添加'date'即可。
    运行后得到的df_target结构与你给出的目标表完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 14:42:24