Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Werken met Draaitabellen | Gegevens Aggregeren
Geavanceerde Technieken in Pandas

bookWerken met Draaitabellen

Python heeft een equivalent van de .groupby()-methode die tot hetzelfde resultaat kan leiden. Het is aan jou welke functie je gebruikt. Laten we dit leren aan de hand van een voorbeeld. Met de volgende functie, genaamd .pivot_table(), berekenen we de gemiddelde waarden van de kolom 'Length' die dezelfde waarde hebben in de kolom 'Flight':

123456789101112131415
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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
copy

Uitleg:

data = pd.pivot_table(data, values = 'Length',
                      index = 'Flight',
                      aggfunc = 'mean')
  • pd.pivot_table() - functie die draaitabellen maakt;
  • data - data frame dat we gebruiken;
  • values = 'Length' - aan het argument values wijzen we kolommen toe met dezelfde groep, waarop we de berekening van het gemiddelde, maximum, enz. zullen toepassen. Als je wilt groeperen op meerdere kolommen, zet ze dan in een lijst; de volgorde is niet van belang;
  • index = 'Flight' - index is een argument waaraan je de naam van een kolom of kolommen toewijst waarop je wilt groeperen. Als je wilt groeperen op meerdere kolommen, zet ze dan in een lijst; de volgorde is van belang, zoals bij de .groupby()-functie;
  • aggfunc = 'mean' - hetzelfde als agg in de .groupby()-methode, aggfunc heeft exact dezelfde syntaxis als agg. Je kunt hier dus meerdere functies plaatsen door ze in een lijst te zetten om functies voor verschillende kolommen te specificeren met behulp van accolades.
question mark

Hier zie je een voorbeeld van code die de .groupby()-instructie gebruikt. Kies de analoge optie met de .pivot_table()-functie.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 5

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 the difference between .groupby() and .pivot_table() in more detail?

What other aggregation functions can I use with .pivot_table()?

How can I group by multiple columns using .pivot_table()?

Awesome!

Completion rate improved to 3.03

bookWerken met Draaitabellen

Veeg om het menu te tonen

Python heeft een equivalent van de .groupby()-methode die tot hetzelfde resultaat kan leiden. Het is aan jou welke functie je gebruikt. Laten we dit leren aan de hand van een voorbeeld. Met de volgende functie, genaamd .pivot_table(), berekenen we de gemiddelde waarden van de kolom 'Length' die dezelfde waarde hebben in de kolom 'Flight':

123456789101112131415
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) # The code using .groupby() data_flights_1 = data[['Length', 'Flight']].groupby('Flight').mean() # The same code using .groupby() data_flights_2 = data[['Length', 'Flight']].groupby('Flight').agg('mean') # The same code using .pivot_table() data_flights_3 = pd.pivot_table(data, values = 'Length', index = 'Flight', aggfunc = 'mean') print(data_flights_1.head())
copy

Uitleg:

data = pd.pivot_table(data, values = 'Length',
                      index = 'Flight',
                      aggfunc = 'mean')
  • pd.pivot_table() - functie die draaitabellen maakt;
  • data - data frame dat we gebruiken;
  • values = 'Length' - aan het argument values wijzen we kolommen toe met dezelfde groep, waarop we de berekening van het gemiddelde, maximum, enz. zullen toepassen. Als je wilt groeperen op meerdere kolommen, zet ze dan in een lijst; de volgorde is niet van belang;
  • index = 'Flight' - index is een argument waaraan je de naam van een kolom of kolommen toewijst waarop je wilt groeperen. Als je wilt groeperen op meerdere kolommen, zet ze dan in een lijst; de volgorde is van belang, zoals bij de .groupby()-functie;
  • aggfunc = 'mean' - hetzelfde als agg in de .groupby()-methode, aggfunc heeft exact dezelfde syntaxis als agg. Je kunt hier dus meerdere functies plaatsen door ze in een lijst te zetten om functies voor verschillende kolommen te specificeren met behulp van accolades.
question mark

Hier zie je een voorbeeld van code die de .groupby()-instructie gebruikt. Kies de analoge optie met de .pivot_table()-functie.

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 5
some-alt