Pandas 数据处理:Excel 文件合并与计算
使用 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
代码解释
- 导入 Pandas 库: 使用
import pandas as pd导入 Pandas 库。 - 加载 Excel 文件: 使用
pd.read_excel()方法加载 Excel 文件,分别加载附件1.xlsx、附件2.xlsx、附件3.xlsx的数据。 - 分组聚合: 对
附件2的数据按照 '单品编码' 进行分组,然后计算 '销量(千克)' 列的总和,并将结果保存到df2_sales_sum中。 - 计算平均值: 对
附件3的数据按照 '单品编码' 进行分组,然后分别计算 '销售单价(元/千克)' 列和 '批发价格(元/千克)' 列的平均值,并将结果分别保存到df3_avg_price和df3_price中。 - 合并数据: 使用
pd.merge()方法将df1和df2_sales_sum按照 '单品编码' 进行合并,并将结果保存到df1中。重复此操作将df1与df3_avg_price和df3_price进行合并。 - 填充缺失值: 使用
fillna()方法将df1中的缺失值(即在df2_sales_sum中没有找到匹配的 '单品编码')的 '销量(千克)' 设置为 0。 - 保存结果: 使用
to_excel()方法将df1保存为新的 Excel 文件 '数据处理汇总.xlsx'。 - 计算平均定价: 计算
附件3的 '批发价格(元/千克)' 和附件2的 '销售单价(元/千克)' 的平均值,并将结果保存到df1的 '平均定价' 列中。
本示例演示了如何使用 Pandas 库对多个 Excel 文件进行数据处理,并生成新的 Excel 文件。您可以根据自己的需求修改代码,以实现不同的数据处理操作。
原文地址: https://www.cveoy.top/t/topic/nPSH 著作权归作者所有。请勿转载和采集!