Transformar vs. agregado en Pandas

Al agrupar un Pandas DataFrame, ¿cuándo debo usar transform y cuándo debo usar el aggregate ? ¿En qué se diferencian con respecto a su aplicación en la práctica y cuál crees que es más importante?

considerar el df dataframe

 df = pd.DataFrame(dict(A=list('aabb'), B=[1, 2, 3, 4], C=[0, 9, 0, 9])) 

introduzca la descripción de la imagen aquí


groupby es el agregador de uso estándar

 df.groupby('A').mean() 

introduzca la descripción de la imagen aquí


tal vez quiera que estos valores se difundan en todo el grupo y devuelva algo con el mismo índice con el que comenzó.
usar transform

 df.groupby('A').transform('mean') 

introduzca la descripción de la imagen aquí

 df.set_index('A').groupby(level='A').transform('mean') 

introduzca la descripción de la imagen aquí


agg se utiliza cuando tiene cosas específicas que desea ejecutar para columnas diferentes o más de una cosa ejecutada en la misma columna.

 df.groupby('A').agg(['mean', 'std']) 

introduzca la descripción de la imagen aquí

 df.groupby('A').agg(dict(B='sum', C=['mean', 'prod'])) 

introduzca la descripción de la imagen aquí