我有两个数据帧
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
请提前帮助,谢谢!
答案 0 :(得分:7)
对于DataFrame
,set_index
和最后add
,我认为需要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
如果Name
中的值不是唯一值,请使用groupby
并汇总sum
:
df = df1.groupby('Name').sum().add(df2.groupby('Name').sum(), fill_value=0).reset_index()
答案 1 :(得分:3)