Python Pandas 数据处理:合并 SUM.csv 文件中的重复销售记录
使用 Python Pandas 合并 SUM.csv 文件中的重复销售记录
本教程将指导您如何使用 Python 的 Pandas 库处理 SUM.csv 文件,该文件包含以下列:销售日期, 扫码销售时间, 单品编码, 单品名称, 分类名称, 销量(千克), 销售单价(元/千克), 销售类型, 是否打折销售, 批发价格, 单品损耗率。
目标是合并具有相同 '销售日期'、'单品编码' 和 '销售类型' 的记录,并将它们的 '销量(千克)' 相加。其他列的值将保留第一次出现的行的值。最终结果将保存到一个名为 'SUMsmall.csv' 的新文件中。
以下是使用 Pandas 完成此任务的步骤:
**1. 导入 Pandas 库并加载 CSV 文件:**pythonimport pandas as pd
df = pd.read_csv('SUM.csv')
这将使用 Pandas 读取 'SUM.csv' 文件并将数据存储在一个名为 'df' 的 DataFrame 中。
**2. 按条件分组并合并重复项:**pythondf['销量(千克)'] = df.groupby(['销售日期', '单品编码', '销售类型'])['销量(千克)'].transform('sum')df = df.drop_duplicates(subset=['销售日期', '单品编码', '销售类型'], keep='first')
首先,我们使用 groupby 函数根据 '销售日期'、'单品编码' 和 '销售类型' 对 DataFrame 进行分组。然后,我们使用 transform('sum') 函数计算每个组的 '销量(千克)' 总和,并将结果存储回原始 DataFrame 的 '销量(千克)' 列中。
接下来,我们使用 drop_duplicates 函数删除重复的行,仅保留每个组的第一行。subset 参数指定用于标识重复项的列,keep='first' 参数指示 Pandas 保留第一次出现的行。
**3. 将结果保存到新文件:**pythondf.to_csv('SUMsmall.csv', index=False)
最后,我们使用 to_csv 函数将处理后的 DataFrame 保存到一个名为 'SUMsmall.csv' 的新文件中。 index=False 参数阻止 Pandas 在输出文件中写入 DataFrame 的索引。
**完整代码:**pythonimport pandas as pd
df = pd.read_csv('SUM.csv')
df['销量(千克)'] = df.groupby(['销售日期', '单品编码', '销售类型'])['销量(千克)'].transform('sum')df = df.drop_duplicates(subset=['销售日期', '单品编码', '销售类型'], keep='first')
df.to_csv('SUMsmall.csv', index=False)
运行此代码后,您将获得一个名为 'SUMsmall.csv' 的文件,其中包含合并后的数据,其中具有相同 '销售日期'、'单品编码' 和 '销售类型' 的记录已合并为一行,并且 '销量(千克)' 列已更新为合并后的销量。
原文地址: https://www.cveoy.top/t/topic/ejfw 著作权归作者所有。请勿转载和采集!