繁体   English   中英

对两个不同长度的数据帧的列求和

[英]Sum the columns of two dataframes of different length

我有两个数据帧:

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

使用set_index并使用fill_value=0 add

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

您可以先使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM