Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Gruppering Efter Flera Kolumner | Aggregering av Data
Avancerade tekniker i pandas

bookGruppering Efter Flera Kolumner

Låt oss lägga till information om metoden .groupby(). Du kan gruppera efter flera kolumner, men ordningen är avgörande i detta fall. I föregående kapitel grupperade vi data efter flygnummer och räknade antalet förseningar. Vi kan göra denna uppgift mer komplex genom att gruppera inte bara efter kolumnen 'Flight', utan även efter kolumnen 'Airline'. Uppdatera informationen om datasettet och titta sedan på detta enkla exempel (utdata innehåller endast de första 10 raderna):

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

Förklaring:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] – kolumnerna du arbetar med, inklusive de kolumner du ska gruppera efter;
  • .groupby(['Flight', 'Airline']) – här är 'Flight' och 'Airline' argument till funktionen .groupby().

Observera att om du vill gruppera efter flera kolumner, lägg dem i en lista – ordningen är avgörande. Så i vårt fall, om raderna i datasettet har samma värde i kolumnen 'Flight', kommer de att tillhöra en grupp. Sedan, inom dessa grupper, hittar funktionen ytterligare grupper för rader med samma värde i kolumnen 'Airline'. Därefter, tack vare metoden .count() som räknar raderna, kommer vår funktion att beräkna antalet rader i kolumnen 'Delay' som har samma värde i kolumnen 'Airline' för varje 'Flight'-grupp.

Uppgift

Swipe to start coding

Din uppgift här är att gruppera data efter flygplatsen där flyget startade och därefter efter veckodag. Beräkna den genomsnittliga tiden för grupperna. Följ algoritmen för att utföra uppgiften:

  1. Gruppera data:
    • Extrahera kolumnerna 'AirportFrom', 'DayOfWeek' och 'Time' från data (i denna ordning);
    • Använd metoden .groupby() på de tidigare nämnda kolumnerna;
    • Placera kolumnerna 'AirportFrom' och 'DayOfWeek' inom .groupby()-metoden; ordningen är viktig;
    • Beräkna medelvärdet för kolumnen 'Time'.
  2. Visa de första 10 raderna av data_flights.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 3.03

bookGruppering Efter Flera Kolumner

Svep för att visa menyn

Låt oss lägga till information om metoden .groupby(). Du kan gruppera efter flera kolumner, men ordningen är avgörande i detta fall. I föregående kapitel grupperade vi data efter flygnummer och räknade antalet förseningar. Vi kan göra denna uppgift mer komplex genom att gruppera inte bara efter kolumnen 'Flight', utan även efter kolumnen 'Airline'. Uppdatera informationen om datasettet och titta sedan på detta enkla exempel (utdata innehåller endast de första 10 raderna):

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

Förklaring:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] – kolumnerna du arbetar med, inklusive de kolumner du ska gruppera efter;
  • .groupby(['Flight', 'Airline']) – här är 'Flight' och 'Airline' argument till funktionen .groupby().

Observera att om du vill gruppera efter flera kolumner, lägg dem i en lista – ordningen är avgörande. Så i vårt fall, om raderna i datasettet har samma värde i kolumnen 'Flight', kommer de att tillhöra en grupp. Sedan, inom dessa grupper, hittar funktionen ytterligare grupper för rader med samma värde i kolumnen 'Airline'. Därefter, tack vare metoden .count() som räknar raderna, kommer vår funktion att beräkna antalet rader i kolumnen 'Delay' som har samma värde i kolumnen 'Airline' för varje 'Flight'-grupp.

Uppgift

Swipe to start coding

Din uppgift här är att gruppera data efter flygplatsen där flyget startade och därefter efter veckodag. Beräkna den genomsnittliga tiden för grupperna. Följ algoritmen för att utföra uppgiften:

  1. Gruppera data:
    • Extrahera kolumnerna 'AirportFrom', 'DayOfWeek' och 'Time' från data (i denna ordning);
    • Använd metoden .groupby() på de tidigare nämnda kolumnerna;
    • Placera kolumnerna 'AirportFrom' och 'DayOfWeek' inom .groupby()-metoden; ordningen är viktig;
    • Beräkna medelvärdet för kolumnen 'Time'.
  2. Visa de första 10 raderna av data_flights.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 4. Kapitel 2
single

single

some-alt