我有两个数据帧:
DF1
country value
0 aa 1
1 bb 1
2 cc 5
DF2
country value
0 cc 8
1 aa 2
2 MM 1
3 FF 6
如何将此数据框(df1
+ df2
)设为如下:
country value
0 aa 3
1 bb 1
2 MM 1
3 cc 13
4 FF 6
答案 0 :(得分:4)
将set_index
和add
与fill_value=0
:
df1.set_index('country').add(df2.set_index('country'),fill_value=0).reset_index()
输出:
country value
0 FF 6.0
1 MM 1.0
2 aa 3.0
3 bb 1.0
4 cc 13.0
答案 1 :(得分:4)
您可以先使用pd.concat
连接,然后使用df.groupby
:
In [390]: pd.concat([df, df2]).groupby('country', as_index=False).sum()
Out[390]:
country value
0 FF 6
1 MM 1
2 aa 3
3 bb 1
4 cc 13