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

如何使用pandas pivot_table按instance.task_id.number分组拆分单列生成多列

问题核心原因

你代码的报错是因为aggfunc参数使用错误:aggfunc接收的是聚合运算规则(比如first、sum这类运算逻辑),不能直接传入字段名。


简化示例的实现方案

你给出的小示例可以通过先给分组内行加序号,再做透视表实现,代码如下:

import pandas as pd
df = pd.DataFrame([["A", 2], ["A", 3], ["A", 6], ["B", 10], ["B", 11], ["B", 12]], columns=["id", "val"])
# 给每个id分组内的行生成序号,作为后续列名后缀
df["col_seq"] = df.groupby("id").cumcount() + 1
# 透视生成宽表
df2 = df.pivot_table(index="id", columns="col_seq", values="val", aggfunc="first").reset_index()
# 重命名列名,符合业务语义
df2.columns = ["id"] + [f"metric_question_{i}" for i in df2.columns[1:]]

运行后即可得到你期望的每个id一行,不同取值拆分多列的结构。


真实业务代码调整方案

你的需求是每个instance.task_id.number对应一行,每个metric.question的取值作为单独列,调整后代码如下:

import pandas as pd

# 读取原始数据
stockage = pd.read_csv(r"C:\Users\vion1\Ele\Engie\Import_Engie\asmt_assessment_instance_question.csv", encoding="cp1252")
df = pd.DataFrame(stockage)

# 生成透视表
df2 = df.pivot_table(
    # 按task_id分组,每行对应一个task_id
    index=['instance.task_id.number'],
    # 按metric.question拆分列,每个不同的question对应一组列
    columns='metric.question',
    # 需要保留的其他字段(注意不要把index里的task_id重复放到values里)
    values=[
        "instance","instance.trigger_id","instance.taken_on","instance.state",
        "string_value","metric.order","value","sys_updated_on","instance.task_id.company",
        "instance.user.u_company_customer.u_customer_trigram","instance.task_id.contact_type",
        "instance.task_id.assignment_group"
    ],
    # 聚合规则:同一组合下取第一个值即可,无重复数据时不影响结果
    aggfunc="first"
# 把index的task_id还原为普通列
).reset_index()

# 可选操作:合并多层列名,避免导出csv后列名可读性差
df2.columns = [f"{col[0]}_{col[1]}" if col[1] != "" else col[0] for col in df2.columns]

print(df2)
# 导出时关闭索引列,用utf-8-sig编码避免中文乱码
df2.to_csv(r"C:\Users\vion1\Ele\Engie\Import_Engie\resultat.csv", index=False, encoding="utf-8-sig")

提示:如果同一个instance.task_id.number + metric.question组合下存在多个不同的其他字段值,可以把aggfunc替换为自定义函数,比如aggfunc=lambda x: ','.join(x.dropna().astype(str)),把多个值合并为逗号分隔的字符串,避免丢失数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:45:00