Regroupement par Plusieurs Colonnes
Ajoutons des informations sur la méthode .groupby()
. Il est possible de regrouper selon plusieurs colonnes, mais l'ordre est essentiel dans ce cas. Dans le chapitre précédent, les données ont été regroupées par numéro de vol et le nombre de retards a été compté. Cette tâche peut être complexifiée en regroupant non seulement par la colonne 'Flight'
, mais aussi par la colonne 'Airline'
. Consultez à nouveau les informations sur le jeu de données, puis examinez cet exemple simple (la sortie contient uniquement les 10 premières lignes) :
1234import 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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
Explication :
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]
: colonnes utilisées, y compris celles servant au regroupement ;.groupby(['Flight', 'Airline'])
: ici,'Flight'
et'Airline'
sont les arguments de la fonction.groupby()
.
À noter : pour regrouper selon plusieurs colonnes, il faut les placer dans une liste ; l'ordre est déterminant. Ainsi, dans ce cas, si des lignes du jeu de données possèdent la même valeur dans la colonne 'Flight'
, elles appartiendront à un même groupe. Ensuite, à l'intérieur de ces groupes, la fonction identifie d'autres groupes pour les lignes ayant la même valeur dans la colonne 'Airline'
. Enfin, grâce à la méthode .count()
qui compte les lignes, la fonction calcule le nombre de lignes dans la colonne 'Delay'
ayant la même valeur dans la colonne 'Airline'
pour chaque groupe 'Flight'
.
Swipe to start coding
Votre tâche ici consiste à regrouper les données par l'aéroport de départ du vol, puis par le jour de la semaine. Calculez le temps moyen pour chaque groupe. Suivez l'algorithme pour réaliser la tâche :
- Regrouper les données :
- Extraire les colonnes
'AirportFrom'
,'DayOfWeek'
et'Time'
dedata
(dans cet ordre) ; - Appliquer la méthode
.groupby()
sur les colonnes précédentes ; - Dans la méthode
.groupby()
, placer les colonnes'AirportFrom'
et'DayOfWeek'
; l'ordre est important ; - Calculer la valeur moyenne de la colonne
'Time'
.
- Extraire les colonnes
- Afficher les
10
premières lignes dedata_flights
.
Solution
Merci pour vos commentaires !
single
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 why the order of columns in `.groupby()` matters?
What does the `.count()` method do in this context?
Can you show how the output would change if we switched the order of the columns in `.groupby()`?
Awesome!
Completion rate improved to 3.03
Regroupement par Plusieurs Colonnes
Glissez pour afficher le menu
Ajoutons des informations sur la méthode .groupby()
. Il est possible de regrouper selon plusieurs colonnes, mais l'ordre est essentiel dans ce cas. Dans le chapitre précédent, les données ont été regroupées par numéro de vol et le nombre de retards a été compté. Cette tâche peut être complexifiée en regroupant non seulement par la colonne 'Flight'
, mais aussi par la colonne 'Airline'
. Consultez à nouveau les informations sur le jeu de données, puis examinez cet exemple simple (la sortie contient uniquement les 10 premières lignes) :
1234import 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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
Explication :
data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
data[['Flight', 'Delay', 'Airline']]
: colonnes utilisées, y compris celles servant au regroupement ;.groupby(['Flight', 'Airline'])
: ici,'Flight'
et'Airline'
sont les arguments de la fonction.groupby()
.
À noter : pour regrouper selon plusieurs colonnes, il faut les placer dans une liste ; l'ordre est déterminant. Ainsi, dans ce cas, si des lignes du jeu de données possèdent la même valeur dans la colonne 'Flight'
, elles appartiendront à un même groupe. Ensuite, à l'intérieur de ces groupes, la fonction identifie d'autres groupes pour les lignes ayant la même valeur dans la colonne 'Airline'
. Enfin, grâce à la méthode .count()
qui compte les lignes, la fonction calcule le nombre de lignes dans la colonne 'Delay'
ayant la même valeur dans la colonne 'Airline'
pour chaque groupe 'Flight'
.
Swipe to start coding
Votre tâche ici consiste à regrouper les données par l'aéroport de départ du vol, puis par le jour de la semaine. Calculez le temps moyen pour chaque groupe. Suivez l'algorithme pour réaliser la tâche :
- Regrouper les données :
- Extraire les colonnes
'AirportFrom'
,'DayOfWeek'
et'Time'
dedata
(dans cet ordre) ; - Appliquer la méthode
.groupby()
sur les colonnes précédentes ; - Dans la méthode
.groupby()
, placer les colonnes'AirportFrom'
et'DayOfWeek'
; l'ordre est important ; - Calculer la valeur moyenne de la colonne
'Time'
.
- Extraire les colonnes
- Afficher les
10
premières lignes dedata_flights
.
Solution
Merci pour vos commentaires !
single