我有一个大约1百万行的CSV文件。 让我们说它有像
这样的细节Name | Age | Salary
name 1 52 10000
name 2 55 10043
name 3 50 100054
name 2 55 10023
name 1 52 100322...
很快。
但我需要合并冗余的细节。 并需要像
这样的输出Name | Age | Salary
name 1 52 110322*
name 2 55 20066 *
name 3 50 100054
您可能会注意到重复的名称1和名称2详细信息已合并,并且添加了工资值。因此,我正在寻找将此更改应用于原始数据集的方法。所以我需要一个python脚本来解决我的问题。
答案 0 :(得分:1)
首先,您没有合并,而是聚合数据集。
考虑使用pandas包。将csv导入为数据框,然后使用group by sum()函数来聚合Salary字段和其他数量值。将相同的原则应用于其他相关领域:
#!/usr/bin/python
import pandas as pd
df = pd.read_csv('C:\\Path\\To\\InputCSV.csv')
newdf = df.groupby('Name', 'Age').sum()
newdf = to_csv('C:\\Path\\To\\OutputCSV.csv')
答案 1 :(得分:1)
使用以下
>>> import pandas as pd
>>> data = pd.read_csv('data.csv')
>>> data_merged = data.groupby(['Name', 'Age']).sum().reset_index()
>>> data_merged
Name Age Salary
0 name 1 52 110322
1 name 2 55 20066
2 name 3 50 100054