Gestion des Tableaux Croisés Dynamiques
Python possède un équivalent de la méthode .groupby() qui peut aboutir au même résultat. Le choix de la fonction à utiliser vous appartient. Examinons cela à l'aide d'un exemple. En utilisant la fonction suivante, appelée .pivot_table(), nous allons calculer les valeurs moyennes de la colonne 'Length' ayant 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 sera appliqué le calcul de la moyenne, du maximum, etc. Pour regrouper par plusieurs colonnes, placez-les dans une liste ; l’ordre n’est pas important ;index = 'Flight':indexest un argument auquel on assigne le nom d’une colonne ou de plusieurs colonnes à regrouper. Pour 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. Il est donc possible d’indiquer plusieurs fonctions en les plaçant dans une liste, afin de 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
Awesome!
Completion rate improved to 3.03
Gestion des Tableaux Croisés Dynamiques
Glissez pour afficher le menu
Python possède un équivalent de la méthode .groupby() qui peut aboutir au même résultat. Le choix de la fonction à utiliser vous appartient. Examinons cela à l'aide d'un exemple. En utilisant la fonction suivante, appelée .pivot_table(), nous allons calculer les valeurs moyennes de la colonne 'Length' ayant 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 sera appliqué le calcul de la moyenne, du maximum, etc. Pour regrouper par plusieurs colonnes, placez-les dans une liste ; l’ordre n’est pas important ;index = 'Flight':indexest un argument auquel on assigne le nom d’une colonne ou de plusieurs colonnes à regrouper. Pour 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. Il est donc possible d’indiquer plusieurs fonctions en les plaçant dans une liste, afin de spécifier des fonctions pour différentes colonnes à l’aide d’accolades.
Merci pour vos commentaires !