Python 如何将两个数据帧的数据相加
我希望通过以下方式将两个数据帧中的数据相加:Python 如何将两个数据帧的数据相加,python,pandas,Python,Pandas,我希望通过以下方式将两个数据帧中的数据相加: >>> df1 = pd.DataFrame({'col1': [1, 2, 3], 'col2': [2, 3, 2], 'col3': ['aaa', 'bbb', 'ccc']}) >>> df1 col1 col2 col3 0 1 2 aaa 1 2 3 bbb 2 3 2 ccc >>> df2 = pd
>>> df1 = pd.DataFrame({'col1': [1, 2, 3], 'col2': [2, 3, 2],
'col3': ['aaa', 'bbb', 'ccc']})
>>> df1
col1 col2 col3
0 1 2 aaa
1 2 3 bbb
2 3 2 ccc
>>> df2 = pd.DataFrame({'col1': [4, 4, 5], 'col2': [4, 4, 5],
'col3': ['some', 'more', 'third']})
>>> df2
col1 col2 col3
0 4 4 some
1 4 4 more
2 5 5 third
我希望结果是:
>>> result
col1 col2 col3
0 4 4 some
1 4 4 more
2 9 7 third
3 1 2 aaa
4 2 3 bbb
也就是说:如果存在具有相同值的col3,则该条目的col1+col2应相加。
如果它不存在,则只需将行合并即可。
行的顺序无关紧要,我不需要保留df1和df2,我只关心之后的结果
实现这一目标的最佳方式是什么
我刚刚从不同的csv文件中加载的数据看起来完全一样,所以也许还有其他方法可以做到这一点?
我只想将结果再次保存为如上所示的csv文件。让我们使用
pd.concat
和groupby
来求和值
pd.concat([df1,df2]).groupby('col3').sum().reset_index().reindex_axis(['col1','col2','col3'],axis=1)
输出:
col1 col2 col3
0 1 2 aaa
1 2 3 bbb
2 4 4 more
3 4 4 some
4 9 7 third