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

如何在Pandas中按索引分组并将Coupon对应的SMM_diff转为列

解决方案

根据你的需求,要将每个Coupon对应的SMM_diff转为单独列,以y_m作为唯一索引,可以通过以下两种方式实现:

情况1:原始DataFrame是多级索引(y_m和Coupon为索引,列仅为SMM_diff)

使用unstack方法将Coupon索引转为列,再重命名列名:

# 假设你的DataFrame名为df
# 将Coupon索引展开为列
df_unstacked = df.unstack(level='Coupon')
# 重命名列,格式化为SMM_diff_<Coupon值>
df_unstacked.columns = [f"SMM_diff_{coupon}" for coupon in df_unstacked.columns.get_level_values(1)]

情况2:原始DataFrame是普通列结构(包含y_m、Coupon、SMM_diff三列)

使用pivot方法直接重塑数据:

# 假设你的DataFrame名为df
df_pivoted = df.pivot(index='y_m', columns='Coupon', values='SMM_diff')
# 重命名列
df_pivoted.columns = [f"SMM_diff_{coupon}" for coupon in df_pivoted.columns]

执行后就能得到你想要的结果:y_m作为索引,每个Coupon对应的SMM_diff成为单独的列,列名格式为SMM_diff_<Coupon数值>。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 10:30:53