single
Regroupement par plusieurs colonnes
Glissez pour afficher le menu
Ajout d'informations sur la méthode .groupby(). Possibilité de regrouper selon plusieurs colonnes, l'ordre étant alors essentiel. Dans le chapitre précédent, regroupement des données par numéro de vol et comptage du nombre de retards. Complexification de cette tâche en regroupant non seulement par la colonne 'Flight', mais aussi par la colonne 'Airline'. Rappel des informations sur le jeu de données, puis présentation de 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().
Attention : pour regrouper selon plusieurs colonnes, les placer dans une liste ; l'ordre est essentiel. Ainsi, dans ce cas, si des lignes du jeu de données possèdent la même valeur dans la colonne 'Flight', elles appartiennent à 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'.
Glissez pour commencer à coder
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 cette tâche :
- Regrouper les données :
- Extraire les colonnes
'AirportFrom','DayOfWeek'et'Time'dedata(dans cet ordre) ; - Appliquer la méthode
.groupby()aux colonnes précédentes ; - Dans la méthode
.groupby(), indiquer les colonnes'AirportFrom'et'DayOfWeek'; l'ordre est important ; - Calculer la valeur moyenne de la colonne
'Time'.
- Extraire les colonnes
- Afficher les
10premiè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