Pandas - dataframe groupby - cómo obtener la suma de varias columnas
Esto debería ser fácil, pero de alguna manera no pude encontrar una solución que funcione.
Tengo un marco de datos de pandas que se ve así:
index col1 col2 col3 col4 col5
0 a c 1 2 f
1 a c 1 2 f
2 a d 1 2 f
3 b d 1 2 g
4 b e 1 2 g
5 b e 1 2 g
Quiero agrupar por col1 y col2 y obtener elsum()
de col3 y col4. Col5
se puede descartar, ya que los datos no se pueden agregar.
Así es como debería verse la salida. Estoy interesado en tener amboscol3
ycol4
en el marco de datos resultante. Realmente no importa sicol1
ycol2
son parte del índice o no.
index col1 col2 col3 col4
0 a c 2 4
1 a d 1 2
2 b d 1 2
3 b e 2 4
Esto es lo que probé:
df_new = df.groupby(['col1', 'col2'])["col3", "col4"].sum()
Sin embargo, eso solo devuelve los resultados agregados decol4
.
Estoy perdido aquí Cada ejemplo que encontré solo agrega una columna, donde el problema obviamente no ocurre.