使用 Pandas 处理 Excel 文件

本示例演示使用 Pandas 库对多个 Excel 文件进行数据处理,包括合并、分组聚合、计算平均值等操作,并生成新的 Excel 文件。

import pandas as pd

# 加载 Excel 文件
df1 = pd.read_excel('附件1.xlsx')
df2 = pd.read_excel('附件2.xlsx')
df3 = pd.read_excel('附件3.xlsx')

# 对 '单品编码' 列进行分组,并对 '销量(千克)' 列求和
df2_sales_sum = df2.groupby('单品编码')['销量(千克)'].sum().reset_index()
df3_avg_price = df2.groupby('单品编码')['销售单价(元/千克)'].mean().reset_index()
df3_price = df3.groupby('单品编码')['批发价格(元/千克)'].mean().reset_index()

# Merge df1 and df2_sales_sum based on '单品编码'
df1 = pd.merge(df1, df2_sales_sum, on='单品编码', how='left')
df1 = pd.merge(df1, df3_avg_price, on='单品编码', how='left')
df1 = pd.merge(df1, df3_price, on='单品编码', how='left')

# 如果表2中没有在表1中找到匹配的 '单品编码',则将 '销量(千克)' 设置为0
df1['销量(千克)'].fillna(0, inplace=True)

# 打印结果
df1.to_excel("数据处理汇总.xlsx", index=False)
df1['平均定价'] = (df3['批发价格(元/千克)'] + df2['销售单价(元/千克)']) / 2

代码解释

  1. 导入 Pandas 库: 使用 import pandas as pd 导入 Pandas 库。
  2. 加载 Excel 文件: 使用 pd.read_excel() 方法加载 Excel 文件,分别加载 附件1.xlsx附件2.xlsx附件3.xlsx 的数据。
  3. 分组聚合:附件2 的数据按照 '单品编码' 进行分组,然后计算 '销量(千克)' 列的总和,并将结果保存到 df2_sales_sum 中。
  4. 计算平均值:附件3 的数据按照 '单品编码' 进行分组,然后分别计算 '销售单价(元/千克)' 列和 '批发价格(元/千克)' 列的平均值,并将结果分别保存到 df3_avg_pricedf3_price 中。
  5. 合并数据: 使用 pd.merge() 方法将 df1df2_sales_sum 按照 '单品编码' 进行合并,并将结果保存到 df1 中。重复此操作将 df1df3_avg_pricedf3_price 进行合并。
  6. 填充缺失值: 使用 fillna() 方法将 df1 中的缺失值(即在 df2_sales_sum 中没有找到匹配的 '单品编码')的 '销量(千克)' 设置为 0。
  7. 保存结果: 使用 to_excel() 方法将 df1 保存为新的 Excel 文件 '数据处理汇总.xlsx'。
  8. 计算平均定价: 计算 附件3 的 '批发价格(元/千克)' 和 附件2 的 '销售单价(元/千克)' 的平均值,并将结果保存到 df1 的 '平均定价' 列中。

本示例演示了如何使用 Pandas 库对多个 Excel 文件进行数据处理,并生成新的 Excel 文件。您可以根据自己的需求修改代码,以实现不同的数据处理操作。

Pandas 数据处理:Excel 文件合并与计算

原文地址: https://www.cveoy.top/t/topic/nPSH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录