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

使用Pandas做Pivot/Unstack转换,将Month列转为表头并统计对应计数

实现方案

依赖库

仅需要pandas即可,若导出Excel还需安装openpyxl:
pip install pandas openpyxl

步骤1:生成中间输出

直接对Month列做独热编码即可得到要求的中间结果:

import pandas as pd

# 构造示例数据,实际使用时替换为你的数据读取代码,比如pd.read_excel('你的数据文件.xlsx')
df = pd.DataFrame({
    'Division': [1,1,2,3,1],
    'Region': ['A','B','C','D','B'],
    'Director': ['Smith','Jones','Williams','Johnson','Watkins'],
    'Month': ['JAN','JAN','FEB','FEB','MAR']
})

# 生成中间输出
df_mid = pd.get_dummies(df, columns=['Month'], dtype=int)
print(df_mid)

步骤2:生成最终理想输出

对中间结果排序后,将重复的分组列内容置为空即可:

# 先按Division、Region排序,保证同组数据连续
df_final = df_mid.sort_values(by=['Division', 'Region'], ignore_index=True)

# 清空重复的Division值
df_final.loc[df_final['Division'].duplicated(), 'Division'] = ''

# 清空同一Division下重复的Region值
df_final.loc[df_final.groupby('Division')['Region'].transform('duplicated'), 'Region'] = ''

print(df_final)

导出到Excel

直接调用to_excel方法即可,注意关闭索引导出:

df_final.to_excel('业务结果.xlsx', index=False)

导出的Excel文件打开后就是你需要的格式,无需额外调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:21:02