微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按总和连接 2 个数据帧更新

如何解决按总和连接 2 个数据帧更新

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

示例:

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

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

预期结果:

df1 = [
    {'bricks':-5,'volume':110},'volume':40}    
]

解决方法

试试这个:

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
,

如果您使用 PySpark。

df = df1.union(df2).groupby('bricks').agg(F.sum('volume').alias('volume')).orderBy('bricks')
df.show()
#     +------+------+
#     |bricks|volume|
#     +------+------+
#     |    -5|    60|
#     |    -4|    60|
#     |    -3|   110|
#     |    -2|    20|
#     |    -1|    40|
#     +------+------+

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。