Gestion des Tableaux Croisés Dynamiques
Python a un analogue de la méthode .groupby()
qui peut conduire au même résultat. C'est à vous de décider quelle fonction utiliser. Apprenons-le en utilisant 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
- cadre de données que nous utilisons ;values = 'Length'
- à l'argumentvalues
, nous attribuons des colonnes ayant le même groupe, pour lesquelles nous appliquerons le calcul de la moyenne, du maximum, etc. Si vous souhaitez regrouper par plusieurs colonnes, mettez-les dans la liste ; l'ordre n'est pas crucial ;index = 'Flight'
-index
est un argument auquel vous attribuez le nom d'une colonne ou des colonnes que vous souhaitez regrouper. Si vous souhaitez regrouper par plusieurs colonnes, mettez-les dans la liste ; l'ordre est crucial, comme dans la fonction.groupby()
;aggfunc = 'mean'
- identique àagg
dans la méthode.groupby()
,aggfunc
a exactement la même syntaxe queagg
. Ainsi, vous pouvez mettre plusieurs fonctions ici en les mettant dans la liste pour spécifier des fonctions pour différentes colonnes en utilisant des 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 a un analogue de la méthode .groupby()
qui peut conduire au même résultat. C'est à vous de décider quelle fonction utiliser. Apprenons-le en utilisant 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
- cadre de données que nous utilisons ;values = 'Length'
- à l'argumentvalues
, nous attribuons des colonnes ayant le même groupe, pour lesquelles nous appliquerons le calcul de la moyenne, du maximum, etc. Si vous souhaitez regrouper par plusieurs colonnes, mettez-les dans la liste ; l'ordre n'est pas crucial ;index = 'Flight'
-index
est un argument auquel vous attribuez le nom d'une colonne ou des colonnes que vous souhaitez regrouper. Si vous souhaitez regrouper par plusieurs colonnes, mettez-les dans la liste ; l'ordre est crucial, comme dans la fonction.groupby()
;aggfunc = 'mean'
- identique àagg
dans la méthode.groupby()
,aggfunc
a exactement la même syntaxe queagg
. Ainsi, vous pouvez mettre plusieurs fonctions ici en les mettant dans la liste pour spécifier des fonctions pour différentes colonnes en utilisant des accolades.
Merci pour vos commentaires !