首页 > 解决方案 > 连接 2 个数据帧(更新)按总和聚合

问题描述

我有 2 个数据框,df1df2。数据框df2必须与df1连接,其中列“砖”中的值不在df1中,如果列值存在,则通过添加df1 “volume”和df2 “volume”来更新体积数据。结果应按“砖块”排序。

例子:

df1 = [
    {'bricks':-3, 'volume':50},
    {'bricks':-2, 'volume':20},
    {'bricks':-1, 'volume':30}
]

df2 = [
    {'bricks':-1, 'volume':10},
    {'bricks':-2, 'volume':0},
    {'bricks':-3, 'volume':60},
    {'bricks':-4, 'volume':60},
    {'bricks':-5, 'volume':60},
]

预期结果:

df1 = [
    {'bricks':-5, 'volume':60},
    {'bricks':-4, 'volume':60},
    {'bricks':-3, 'volume':110},
    {'bricks':-2, 'volume':20},
    {'bricks':-1, 'volume':40}    
]

标签: pythondataframesumconcatenationinsert-update

解决方案


尝试这个:

pd.concat([df1,df2]).groupby('bricks').sum().reset_index()

    bricks  volume
0   -5  60
1   -4  60
2   -3  110
3   -2  20
4   -1  40

推荐阅读