如何合并两个数据框并求和列的值 [英] how to merge two dataframes and sum the values of columns

查看:90
本文介绍了如何合并两个数据框并求和列的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个数据框

df1
Name class value
Sri   1     5
Ram   2     8
viv   3     4

df2
Name class value
Sri   1     5
viv   4     4

我想要的输出是

df,

Name class value
Sri   2     10
Ram   2     8
viv   7     8

请帮助,谢谢!

推荐答案

我认为需要 set_index 对于两个 DataFrame 添加 和最后一个 重置索引

I think need set_index for both DataFrames, add and last reset_index:

df = df1.set_index('Name').add(df2.set_index('Name'), fill_value=0).reset_index()
print (df)
  Name  class  value
0  Ram    2.0    8.0
1  Sri    2.0   10.0
2  viv    7.0    8.0

如果值名称不是唯一使用 groupby 并汇总 sum

If values in Name are not unique use groupby and aggregate sum:

df = df1.groupby('Name').sum().add(df2.groupby('Name').sum(), fill_value=0).reset_index()

这篇关于如何合并两个数据框并求和列的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆