我有两个数据框
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两个DataFrameS,add和最后reset_index:
set_index
DataFrame
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:
Name
groupby
sum
df = df1.groupby('Name').sum().add(df2.groupby('Name').sum(), fill_value=0).reset_index()