Contenu du cours
Techniques Avancées dans Pandas
Techniques Avancées dans Pandas
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'
:
import 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 :
python
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 !