Pandas对Excel进行数据透视

背景:

有一个Excel,我们需要对表中的两列数据进行数据透视

要求:

先对Excel进行数据透视,
将结果输出到一个新的excel;
import pandas as pd

# 文件路径
File_path = r'C:\TELCEL_MEXICO_BOT\A\KPI.xlsx'
output_path = r'C:\TELCEL_MEXICO_BOT\A\KPI_Pivot.xlsx'  # 保存路径

# 读取数据
df_KPI = pd.read_excel(File_path)
print("原始数据:")
print(df_KPI)

原始数据:
          DAY Cell Cluster  EARFCNDL  pmHoExeSucc  pmUeCtxEstabSucc
0  2025-03-01  C01    S001     10663         2350               330
1  2025-03-02  C01    S001     10663        10000               569
2  2025-03-03  C01    S001     10663          358              2980
3  2025-03-04  C02    S001      2988        88930              6893
4  2025-03-05  C02    S001      2988          120             29056
5  2025-03-06  C02    S001      2988         3578             25990
6  2025-03-07  C02    S001      2988         9820              5689
7  2025-03-08  C03    S008     10667        42359              9860
8  2025-03-09  C03    S008     10667          210              9560
9  2025-03-10  C03    S008     10667       100035              2583
10 2025-03-11  C03    S008     10667         2586              1029
11 2025-03-12  C03    S008     10667         2359                12


# 创建数据透视表
df_KPI_pivot = df_KPI.pivot_table(
    index=['Cluster', 'EARFCNDL'],  # 分组依据
    values=['pmHoExeSucc', 'pmUeCtxEstabSucc'],  # 需要聚合的列
    aggfunc='sum',  # 聚合函数
    fill_value=0  # 填充缺失值为0
)

print("\n透视表结果:")
print(df_KPI_pivot)
透视表结果:
                  pmHoExeSucc  pmUeCtxEstabSucc
Cluster EARFCNDL                               
S001    2988           102448             67628
        10663           12708              3879
S008    10667          147549             23044

# 如果需要将多层索引的 Cluster 列填充(向前填充),可以重置索引
df_KPI_pivot_reset = df_KPI_pivot.reset_index()
df_KPI_pivot_reset['Cluster'] = df_KPI_pivot_reset['Cluster'].fillna(method='ffill')

print("\n填充 Cluster 列后的透视表:")
print(df_KPI_pivot_reset)

填充 Cluster 列后的透视表:
  Cluster  EARFCNDL  pmHoExeSucc  pmUeCtxEstabSucc
0    S001      2988       102448             67628
1    S001     10663        12708              3879
2    S008     10667       147549             23044

# 将透视表保存到 Excel 文件
df_KPI_pivot_reset.to_excel(output_path, index=False)
print(f"\n透视表已保存到 {output_path}")

透视表已保存到 C:\TELCEL_MEXICO_BOT\A\KPI_Pivot.xlsx

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值