cómo combinar dos marcos de datos y sumr los valores de las columnas

Tengo dos marcos de datos

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

Mi salida deseada es,

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

Por favor ayuda, gracias de antemano!

Creo que necesito set_index para ambos DataFrame s, add y 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 

Si los valores en Name no son únicos, use groupby y sum agregada:

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

pd.concat + groupby + sum

Puede concatenar sus marcos de datos individuales y luego agruparlos por su columna clave:

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