how to merge two dataframes and sum the values of columns how to merge two dataframes and sum the values of columns python python

how to merge two dataframes and sum the values of columns


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  value0  Ram    2.0    8.01  Sri    2.0   10.02  viv    7.0    8.0

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()


pd.concat + groupby + sum

You can concatenate your individual dataframes and then group by your key column:

df = pd.concat([df1, df2])\       .groupby('Name')['class', 'value']\       .sum().reset_index()print(df)  Name  class  value0  Ram      2      81  Sri      2     102  viv      7      8