Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Kennismaken met de .groupby()-Methode | Gegevens Aggregeren
Geavanceerde Technieken in Pandas

bookKennismaken met de .groupby()-Methode

Ik ben blij je in deze sectie te zien. Hier groeperen we onze gegevens om informatie te vinden over verschillende groepen rijen. Bekijk de dataset over vertragingen (je kunt horizontaal door deze tabel scrollen):

Gegevens groeperen is nuttig, en nu gaan we er dieper op in. Stel je voor dat je het aantal vertragingen per vluchtnummer wilt berekenen. Bekijk het codevoorbeeld en daarna de uitleg:

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']].groupby('Flight').sum() print(data_flights.head())
copy

Uitleg:

data[['Flight', 'Delay']].groupby('Flight').sum()
  • data[['Flight', 'Delay']] - Dit zijn de kolommen waarmee gewerkt wordt, inclusief de kolommen waarop gegroepeerd zal worden;
  • groupby('Flight') - De kolom 'Flight' is het argument voor de .groupby()-functie. Dit betekent dat rijen met dezelfde waarde in de kolom 'Flight' samen worden gegroepeerd;
  • .sum() - Deze functie wordt toegepast op de rijen binnen elke groep die door .groupby() is aangemaakt. In dit geval worden de waarden in de kolom 'Delay' opgeteld voor rijen die tot dezelfde 'Flight'-groep behoren.
Note
Opmerking

Aangezien de kolom 'Delay' alleen 0 (geen vertraging opgetreden) of 1 (vertraging opgetreden) als mogelijke waarden bevat, geeft de som van de rijen het aantal vertragingen per vlucht weer.

In feite is .sum() slechts één van de vele aggregatiefuncties die gebruikt kunnen worden. U zult met al deze functies vertrouwd raken naarmate u verder gaat.

question-icon

Vul de open plekken in om de gemiddelde waarde van de kolom 'Time' te vinden afhankelijk van de kolom 'DayOfWeek'.

data_extracted = data[['', 'Time']]('').mean()
print(data_extracted)
DayOfWeekTime
3804.993130
4804.452984
5702.888362
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

Can you explain how to use other aggregation functions like mean or median?

What does the output look like when grouping by a different column?

Can you show an example of grouping by multiple columns?

Awesome!

Completion rate improved to 3.03

bookKennismaken met de .groupby()-Methode

Veeg om het menu te tonen

Ik ben blij je in deze sectie te zien. Hier groeperen we onze gegevens om informatie te vinden over verschillende groepen rijen. Bekijk de dataset over vertragingen (je kunt horizontaal door deze tabel scrollen):

Gegevens groeperen is nuttig, en nu gaan we er dieper op in. Stel je voor dat je het aantal vertragingen per vluchtnummer wilt berekenen. Bekijk het codevoorbeeld en daarna de uitleg:

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']].groupby('Flight').sum() print(data_flights.head())
copy

Uitleg:

data[['Flight', 'Delay']].groupby('Flight').sum()
  • data[['Flight', 'Delay']] - Dit zijn de kolommen waarmee gewerkt wordt, inclusief de kolommen waarop gegroepeerd zal worden;
  • groupby('Flight') - De kolom 'Flight' is het argument voor de .groupby()-functie. Dit betekent dat rijen met dezelfde waarde in de kolom 'Flight' samen worden gegroepeerd;
  • .sum() - Deze functie wordt toegepast op de rijen binnen elke groep die door .groupby() is aangemaakt. In dit geval worden de waarden in de kolom 'Delay' opgeteld voor rijen die tot dezelfde 'Flight'-groep behoren.
Note
Opmerking

Aangezien de kolom 'Delay' alleen 0 (geen vertraging opgetreden) of 1 (vertraging opgetreden) als mogelijke waarden bevat, geeft de som van de rijen het aantal vertragingen per vlucht weer.

In feite is .sum() slechts één van de vele aggregatiefuncties die gebruikt kunnen worden. U zult met al deze functies vertrouwd raken naarmate u verder gaat.

question-icon

Vul de open plekken in om de gemiddelde waarde van de kolom 'Time' te vinden afhankelijk van de kolom 'DayOfWeek'.

data_extracted = data[['', 'Time']]('').mean()
print(data_extracted)
DayOfWeekTime
3804.993130
4804.452984
5702.888362
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1
some-alt