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