使用 Pandas 对 Excel 数据进行统计运算实战

 🧾 项目背景

        在日常的数据分析与报表处理中,我们常常需要对 Excel 表格中的数值列进行处理
例如:

  • 求和
  • 求平均值
  • 添加统计行或列
  • 写入新工作表

本文将通过一个完整的 Python 脚本示例,演示如何使用 pandas 对 Excel 文件中的数据进行:

  • 行级统计(每行的总分、平均分)
  • 列级统计(各列的平均值)
  • 新增统计行
  • 结果写入原文件的新 sheet 中

📁 数据说明

        假设你有一个名为 测试版表4_1.xlsx 的 Excel 文件,其中包含如下字段:

品牌投放金额(万元)交易金额测试金额1测试金额2
A品牌100200300400
B品牌150250350450
C品牌120220320420

 

我们的目标是:

  • 计算每一行的总分和平均分;
  • 计算每一列的平均值;
  • 添加一行“小明测试”作为统计汇总行;
  • 将结果保存到新的工作表中。

🧪 脚本解析

 1. 导入库并读取数据

import pandas as pd

# 读取Excel文件
brand = pd.read_excel('测试版表4_1.xlsx', sheet_name='Sheet1')

这里我们从 Sheet1 中读取原始数据

2. 定义要参与计算的列名

column_names = ['投放金额(万元)', '交易金额', '测试金额1', '测试金额2']

用于限定只对这四列进行统计运算。

3.  行级统计:求和与平均值

# 求每行的和与平均值
row_sum = brand[column_names].sum(axis=1)
row_mean = brand[column_names].mean(axis=1)

# 添加两列
brand['总分'] = row_sum
brand['平均分'] = row_mean
  • axis=1 表示按行操作;
  • 总分 和 平均分 是新增的统计列。

4.  列级统计:列平均值

# 求每列的平均值
col_mean = brand[column_names].mean()

# 添加品牌字段
col_mean['品牌'] = '小明测试'

col_mean 是一个 Series,表示每一列的平均值。

5.  将统计行添加进 DataFrame

# 将 col_mean 转换为 DataFrame 并追加到原数据中
brand = brand._append(col_mean, ignore_index=True)
  • ignore_index=True 表示重置索引;
  • 这样我们就成功地在表格底部添加了一行统计汇总行。

6.  打印最终结果

print(brand)

7. 写入 Excel 文件

# 写入新的sheet
with pd.ExcelWriter('测试版表4_1.xlsx', mode='a', engine='openpyxl') as writer:
    brand.to_excel(writer, sheet_name='处理后的数据', index=False)
  • 使用 mode='a' 在原文件中追加内容;
  • index=False 防止写入默认的行号。

✅ 示例输出

        运行脚本后,你将在 测试版表4_1.xlsx 中看到新增的 处理后的数据 工作表,内容如下:

品牌投放金额(万元)交易金额测试金额1测试金额2总分平均分
A品牌1002003004001000250
B品牌1502503504501200300
C品牌1202203204201080270
小明测试123.33223.33323.33423.33

 

📝 总结

        本文通过一个实际案例,介绍了如何使用 pandas 对 Excel 数据进行:

  • 行级统计(求和、求平均)
  • 列级统计(列平均值)
  • 添加统计行
  • 结果写入新工作表

这些操作非常适用于生成财务报表、成绩统计、销售汇总等场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值