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
Can you explain the difference between .groupby() and .pivot_table() in more detail?
What other aggregation functions can I use with .pivot_table()?
How can I group by multiple columns using .pivot_table()?
Génial!
Completion taux amélioré à 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 !