Gestion des tableaux croisés dynamiques
Glissez pour afficher le menu
Python possède un analogue de la méthode .groupby() qui peut conduire au même résultat. Le choix de la fonction à utiliser vous appartient. Découvrons-la à l'aide d'un exemple. En utilisant la fonction suivante, appelée .pivot_table(), nous allons calculer les valeurs moyennes de la colonne 'Length' qui ont la même valeur dans la colonne 'Flight' :
123456789101112131415import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Explication :
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table(): fonction qui crée des tableaux croisés dynamiques ;data: DataFrame utilisé ;values = 'Length': à l'argumentvalues, on assigne les colonnes ayant le même groupe, pour lesquelles on appliquera le calcul de la moyenne, du maximum, etc. Si vous souhaitez regrouper par plusieurs colonnes, placez-les dans une liste ; l'ordre n'est pas important ;index = 'Flight':indexest un argument auquel vous assignez le nom d'une colonne ou de colonnes à regrouper. Si vous souhaitez regrouper par plusieurs colonnes, placez-les dans une liste ; l'ordre est important, comme dans la fonction.groupby();aggfunc = 'mean': identique àaggdans la méthode.groupby(),aggfuncpossède exactement la même syntaxe queagg. Ainsi, vous pouvez placer plusieurs fonctions ici en les mettant dans une liste pour spécifier des fonctions pour différentes colonnes à l'aide d'accolades.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Gestion des tableaux croisés dynamiques
Python possède un analogue de la méthode .groupby() qui peut conduire au même résultat. Le choix de la fonction à utiliser vous appartient. Découvrons-la à l'aide d'un exemple. En utilisant la fonction suivante, appelée .pivot_table(), nous allons calculer les valeurs moyennes de la colonne 'Length' qui ont la même valeur dans la colonne 'Flight' :
123456789101112131415import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
Explication :
data = pd.pivot_table(data, values = 'Length',
index = 'Flight',
aggfunc = 'mean')
pd.pivot_table(): fonction qui crée des tableaux croisés dynamiques ;data: DataFrame utilisé ;values = 'Length': à l'argumentvalues, on assigne les colonnes ayant le même groupe, pour lesquelles on appliquera le calcul de la moyenne, du maximum, etc. Si vous souhaitez regrouper par plusieurs colonnes, placez-les dans une liste ; l'ordre n'est pas important ;index = 'Flight':indexest un argument auquel vous assignez le nom d'une colonne ou de colonnes à regrouper. Si vous souhaitez regrouper par plusieurs colonnes, placez-les dans une liste ; l'ordre est important, comme dans la fonction.groupby();aggfunc = 'mean': identique àaggdans la méthode.groupby(),aggfuncpossède exactement la même syntaxe queagg. Ainsi, vous pouvez placer plusieurs fonctions ici en les mettant dans une liste pour spécifier des fonctions pour différentes colonnes à l'aide d'accolades.
Merci pour vos commentaires !