首页 > 解决方案 > 如何使用python在列中加入csv和求和值

问题描述

我有一个这样的 csv 文件:

file1.csv
date        item1    spec    count
2019-03-29  book     blue     10
2019-03-30  shirt    green    11
...
2019-04-25  book     blue     20
2019-04-26  shirt    green    15

和另一个像这样的文件csv:

file2.csv
date        item1    spec    count
2019-03-29  book     blue     5
2019-03-30  shirt    green    4
...
2019-04-25  book     blue     7
2019-04-26  shirt    green    8

我想将该文件组合成这样:

fileResult.csv
date        item1    spec    count
2019-03-29  book     blue     15
2019-03-30  shirt    green    15
...
2019-04-25  book     blue     27
2019-04-26  shirt    green    23

有人可以帮我解决这个问题吗?

非常感谢您

标签: pythonpython-3.xpandascsv

解决方案


如果您的两个数据框具有相同的形状(相同数量的行、列)并且数据与您的示例一样对齐,我们可以简单地执行以下操作:

df1['count'] = df1['count'] + df2['count']

print(df1)
         date  item1   spec  count
0  2019-03-29   book   blue     15
1  2019-03-30  shirt  green     15
2  2019-04-25   book   blue     27
3  2019-04-26  shirt  green     23

其他用途merge

final = df1.merge(df2, on=['date', 'item1', 'spec'])
final['count'] = final.pop('count_x')+ final.pop('count_y')

         date  item1   spec  count
0  2019-03-29   book   blue     15
1  2019-03-30  shirt  green     15
2  2019-04-25   book   blue     27
3  2019-04-26  shirt  green     23

推荐阅读