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

如何使用Pandas生成带Type后缀的多列透视表?

Pandas实现DataFrame列重组(按Type值作为列后缀)

原始数据构造

先还原你给出的原始DataFrame:

import pandas as pd

data = {
    'C1': ['A', 'A'],
    'A1': [1., 7.],
    'A2': [5., 3.],
    'A3': [2., 8.],
    'Type': ['AG', 'SC']
}
df = pd.DataFrame(data)

转换实现代码

直接用pivot函数完成分组与列重组,再整理列名即可:

# 透视转换,生成多层列索引的DataFrame
result_df = df.pivot(index='C1', columns='Type', values=['A1', 'A2'])

# 合并多层列名为"原列名_Type值"的格式
result_df.columns = [f'{col[0]}_{col[1]}' for col in result_df.columns]

# 可选:将C1从行索引转回普通列
result_df = result_df.reset_index()

# 输出结果
print(result_df)

执行后得到的结果就是你需要的结构:

C1  A1_AG  A1_SC  A2_AG  A2_SC
0  A    1.0    7.0    5.0    3.0

补充说明

  • 如果原始数据里C1有多个不同取值,pivot会自动按C1分组处理,每个C1对应一行结果
  • 代码里自动丢弃了A3列,因为values参数只指定了A1和A2,如果需要保留A3可以自行调整参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 13:45:31