Maison >développement back-end >Tutoriel Python >Quand utiliser Pandas apply vs transform pour les opérations de données groupées ?
Dans Pandas, apply et transform peuvent être utilisés pour effectuer des opérations sur des données groupées. Cependant, il existe quelques différences clés entre les deux méthodes.
Input Type
Type de sortie
Transformation
Exemple
Considérez le DataFrame suivant :
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two', 'two', 'one', 'three'], 'C': randn(8), 'D': randn(8)})
Pour soustraire la colonne C de la colonne D au sein de chaque groupe à l'aide de apply :
df.groupby('A').apply(lambda x: (x['C'] - x['D']))
Pour soustraire la colonne C de la colonne D au sein de chaque groupe à l'aide de transform :
df.groupby('A').transform(lambda x: (x['C'] - x['D']).mean())
Notez que le La fonction lambda passée à transform renvoie la moyenne de la différence entre C et D, ce qui donne une colonne transformée avec la même forme que le DataFrame d'origine.
Quand utiliser apply vs transform :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!