¿Cómo puedo aplicar múltiples funciones que involucren múltiples columnas de un marco de datos de pandas con groupby?
Dado el siguiente dataframe:
id | cat | date | max | score | |
---|---|---|---|---|---|
1 | s1 | A | 12/06 | 9 | 5.4 |
2 | s1 | B | 12/06 | 10 | 5.4 |
3 | s2 | C | 11/04 | 13 | 4.2 |
4 | s2 | D | 11/04 | 28 | 10 |
5 | s3 | E | 08/02 | 16 | 5.4 |
5 | s3 | F | 08/02 | 6 | 5.4 |
Quiero agrupar por “id” y obtener el primero de las columnas [cat, date], pero al mismo tiempo quiero obtener la media de las columnas max – score. Creo que se puede hacer con una función de agregación:
pero con aggregate no puedo acceder a todas las columnas del dataframe.
id | cat | date | mean(max-score) |
---|---|---|---|
s1 | A | 12/06 | 4.1 |
s2 | C | 11/04 | 13.4 |
s3 | E | 08/02 | 5.6 |
davy.ai
Se pueden usar las funciones
groupby
yagg
para lograr esto.Esto devolverá el siguiente dataframe: