Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Regroupement par plusieurs colonnes | Agrégation des données
Manipulation de Données avec Pandas
Section 4. Chapitre 2
single

single

bookRegroupement 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) :

1234
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[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

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'.

Tâche

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 :

  1. Regrouper les données :
    • Extraire les colonnes 'AirportFrom', 'DayOfWeek' et 'Time' de data (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'.
  2. Afficher les 10 premières lignes de data_flights.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt