Lors de l'utilisation de groupby sur un DataFrame, appliquer et transformer ont distinct caractéristiques :
Entrée :
Sortie :
Considérez la fonction personnalisée subtract_two pour soustraire la colonne « a » de « b » :
def subtract_two(x): return x['a'] - x['b']
1. Apply :
En utilisant apply, nous pouvons calculer la différence entre « a » et « b » pour chaque groupe, renvoyant une série :
df.groupby('A').apply(subtract_two)
2. Transform :
Les tentatives d'utilisation de transform entraîneront une KeyError, car transform attend une séquence de la même longueur que le groupe :
df.groupby('A').transform(subtract_two) # KeyError: 'a'
Pour utiliser la transformation pour la soustraction, nous pouvons renvoyer un scalaire de notre fonction personnalisée et l'appliquer à toutes les lignes du group :
def subtract_two_scalar(x): return (x['a'] - x['b']).mean() df.groupby('A').transform(subtract_two_scalar)
Cela renvoie une série avec la différence moyenne pour chaque groupe.
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!