Gestion des Tableaux Croisés Dynamiques
Python possède un analogue de la méthode .groupby()
qui peut aboutir au même résultat. Le choix de la fonction à utiliser vous appartient. Apprenons à l'utiliser à travers un exemple. À l'aide de 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 attribue 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'
:index
est un argument auquel vous attribuez 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 àagg
dans la méthode.groupby()
,aggfunc
possè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 différentes 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()?
Awesome!
Completion rate improved to 3.03
Gestion des Tableaux Croisés Dynamiques
Glissez pour afficher le menu
Python possède un analogue de la méthode .groupby()
qui peut aboutir au même résultat. Le choix de la fonction à utiliser vous appartient. Apprenons à l'utiliser à travers un exemple. À l'aide de 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 attribue 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'
:index
est un argument auquel vous attribuez 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 àagg
dans la méthode.groupby()
,aggfunc
possè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 différentes pour différentes colonnes à l'aide d'accolades.
Merci pour vos commentaires !