xin*_*ang 4 python dataframe pandas
我有两个数据框?
df1
country value
0 aa 1
1 bb 1
2 cc 5
Run Code Online (Sandbox Code Playgroud)
df2
country value
0 cc 8
1 aa 2
2 MM 1
3 FF 6
Run Code Online (Sandbox Code Playgroud)
如何获得该数据框(df1+ df2),如下所示:
country value
0 aa 3
1 bb 1
2 MM 1
3 cc 13
4 FF 6
Run Code Online (Sandbox Code Playgroud)
使用set_index并add用fill_value=0:
df1.set_index('country').add(df2.set_index('country'),fill_value=0).reset_index()
Run Code Online (Sandbox Code Playgroud)
输出:
country value
0 FF 6.0
1 MM 1.0
2 aa 3.0
3 bb 1.0
4 cc 13.0
Run Code Online (Sandbox Code Playgroud)
您可以先使用连接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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
285 次 |
| 最近记录: |