Contenu du cours
Techniques Avancées dans Pandas
Techniques Avancées dans Pandas
Groupement Avancé
Élargissons nos connaissances sur la méthode .groupby()
. Comme vous vous en souvenez, nous pouvons utiliser la méthode .agg()
. En effet, les principaux avantages de cette fonction sont que nous pouvons appliquer une fonction différente aux colonnes numériques avec une clé de groupe. Regardez l'exemple où nous avons regroupé les vols par la colonne 'Airline'
, puis compté les valeurs dans 'Delay'
pour chaque 'Airline'
, et calculé les valeurs minimales et maximales pour la colonne 'Length'
. Tellement pratique, n'est-ce pas ?
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) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Explication :
.agg()
- une méthode qui nous permet d'appliquer des fonctions sur une série ou sur chaque élément séparément ;{}
- nous utilisons des accolades pour spécifier la colonne et appliquer des fonctions directement à celles-ci ;'Delay': 'count'
- applique la fonction.count()
aux valeurs de la colonne'Delay'
ayant le même groupe clé ;'Length': ['min', 'max']
- applique les fonctions.min()
et.max()
aux valeurs de la colonne'Length'
ayant le même groupe clé. Vous devez simplement mettre le nom de la colonne sans les symboles()
ou.
dans la fonction. Faites attention ; si vous souhaitez appliquer plusieurs fonctions à la même colonne, vous devez les mettre dans la liste.
Swipe to start coding
Nous pouvons supposer qu'un retard dépend de la compagnie aérienne ou de l'aéroport, mais plongeons plus profondément et regardons les temps de retard moyen et maximum en fonction de l'aéroport d'où le vol a commencé, puis de l'aéroport où le vol s'est terminé. Regardez également la longueur médiane du vol. Suivez l'algorithme :
Regrouper les données :
- Appliquez la méthode
.groupby()
au jeu de donnéesdata
; - Dans la méthode
.groupby()
, mettez les colonnes'AirportFrom'
et'AirportTo'
; l'ordre est crucial ; - En utilisant la méthode
.agg()
, calculez les valeurs agrégées : la valeur moyenne et maximale dans la colonne'Time'
, et la valeur médiane de la colonne'Length'
.
Solution
Merci pour vos commentaires !
Groupement Avancé
Élargissons nos connaissances sur la méthode .groupby()
. Comme vous vous en souvenez, nous pouvons utiliser la méthode .agg()
. En effet, les principaux avantages de cette fonction sont que nous pouvons appliquer une fonction différente aux colonnes numériques avec une clé de groupe. Regardez l'exemple où nous avons regroupé les vols par la colonne 'Airline'
, puis compté les valeurs dans 'Delay'
pour chaque 'Airline'
, et calculé les valeurs minimales et maximales pour la colonne 'Length'
. Tellement pratique, n'est-ce pas ?
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) data_flights = data.groupby('Airline').agg({'Delay': 'count', 'Length': ['min', 'max']}) print(data_flights.head(10))
Explication :
.agg()
- une méthode qui nous permet d'appliquer des fonctions sur une série ou sur chaque élément séparément ;{}
- nous utilisons des accolades pour spécifier la colonne et appliquer des fonctions directement à celles-ci ;'Delay': 'count'
- applique la fonction.count()
aux valeurs de la colonne'Delay'
ayant le même groupe clé ;'Length': ['min', 'max']
- applique les fonctions.min()
et.max()
aux valeurs de la colonne'Length'
ayant le même groupe clé. Vous devez simplement mettre le nom de la colonne sans les symboles()
ou.
dans la fonction. Faites attention ; si vous souhaitez appliquer plusieurs fonctions à la même colonne, vous devez les mettre dans la liste.
Swipe to start coding
Nous pouvons supposer qu'un retard dépend de la compagnie aérienne ou de l'aéroport, mais plongeons plus profondément et regardons les temps de retard moyen et maximum en fonction de l'aéroport d'où le vol a commencé, puis de l'aéroport où le vol s'est terminé. Regardez également la longueur médiane du vol. Suivez l'algorithme :
Regrouper les données :
- Appliquez la méthode
.groupby()
au jeu de donnéesdata
; - Dans la méthode
.groupby()
, mettez les colonnes'AirportFrom'
et'AirportTo'
; l'ordre est crucial ; - En utilisant la méthode
.agg()
, calculez les valeurs agrégées : la valeur moyenne et maximale dans la colonne'Time'
, et la valeur médiane de la colonne'Length'
.
Solution
Merci pour vos commentaires !