Werken 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 behulp van de volgende functie, genaamd .pivot_table(), berekenen we de gemiddelde waarden van de kolom 'Length' die dezelfde waarde hebben in de kolom 'Flight':
123456789101112131415import 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())
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 argumentvalueswijzen we kolommen toe met dezelfde groep, waarop we de berekening van het gemiddelde, maximum, enz. zullen toepassen. Als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst; de volgorde is niet van belang;index = 'Flight'-indexis een argument waaraan je de naam van een kolom of kolommen toewijst waarop je wilt groeperen. Als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst; de volgorde is van belang, net als bij de.groupby()-functie;aggfunc = 'mean'- hetzelfde alsaggin de.groupby()-methode,aggfuncheeft exact dezelfde syntaxis alsagg. 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.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Werken 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 behulp van de volgende functie, genaamd .pivot_table(), berekenen we de gemiddelde waarden van de kolom 'Length' die dezelfde waarde hebben in de kolom 'Flight':
123456789101112131415import 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())
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 argumentvalueswijzen we kolommen toe met dezelfde groep, waarop we de berekening van het gemiddelde, maximum, enz. zullen toepassen. Als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst; de volgorde is niet van belang;index = 'Flight'-indexis een argument waaraan je de naam van een kolom of kolommen toewijst waarop je wilt groeperen. Als je op meerdere kolommen wilt groeperen, zet ze dan in een lijst; de volgorde is van belang, net als bij de.groupby()-functie;aggfunc = 'mean'- hetzelfde alsaggin de.groupby()-methode,aggfuncheeft exact dezelfde syntaxis alsagg. 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.
Bedankt voor je feedback!