[英]Sum the columns of two dataframes of different length
I have two dataframes: 我有两个数据帧:
df1 DF1
country value
0 aa 1
1 bb 1
2 cc 5
df2 DF2
country value
0 cc 8
1 aa 2
2 MM 1
3 FF 6
How get I can this dataframe ( df1
+ df2
) as follows: 我怎么能得到这个数据帧(
df1
+ df2
)如下:
country value
0 aa 3
1 bb 1
2 MM 1
3 cc 13
4 FF 6
Use set_index
and add
with fill_value=0
: 使用
set_index
并使用fill_value=0
add
:
df1.set_index('country').add(df2.set_index('country'),fill_value=0).reset_index()
Output: 输出:
country value
0 FF 6.0
1 MM 1.0
2 aa 3.0
3 bb 1.0
4 cc 13.0
You can first concatenate using pd.concat
, then use df.groupby
: 您可以先使用
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.