Panda's: kolommen hernoemen in de groupby-functie
U kunt de volgende basissyntaxis gebruiken om de naam van kolommen in een groupby() -functie in panda’s te wijzigen:
df. groupby (' group_col '). agg (sum_col1=(' col1 ', ' sum '), mean_col2=(' col2 ', ' mean '), max_col3=(' col3 ', ' max '))
In dit specifieke voorbeeld worden drie aggregatiekolommen berekend en worden deze sum_col1 , Mean_col2 en max_col3 genoemd.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: hernoem kolommen in de Groupby-functie in Pandas
Stel dat we de volgende panda’s DataFrame hebben:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' points ': [30, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 6, 6, 5, 8, 7, 7, 9], ' rebounds ': [4, 13, 15, 10, 7, 7, 5, 11]}) #view DataFrame print (df) team points assists rebounds 0 to 30 5 4 1 to 22 6 13 2 A 19 6 15 3 A 14 5 10 4 B 14 8 7 5 B 11 7 7 6 B 20 7 5 7 B 28 9 11
We kunnen de volgende syntaxis gebruiken om rijen te groeperen op teamkolom en vervolgens drie samengestelde kolommen te berekenen, terwijl we specifieke namen voor de samengestelde kolommen opgeven:
#calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', ' sum '),
mean_assists=(' assists ', ' mean '),
max_rebounds=(' rebounds ', ' max '))
sum_points mean_assists max_rebounds
team
A 85 5.50 15
B 73 7.75 11
Houd er rekening mee dat de drie samengevoegde kolommen de aangepaste namen hebben die we hebben opgegeven in de functie agg() .
Merk ook op dat we de NumPy-functies zouden kunnen gebruiken om de som-, gemiddelde en maximale waarden in de agg()- functie te berekenen als we dat wilden.
import numpy as np
#calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', np. sum ),
mean_assists=(' assists ', np. mean ),
max_rebounds=(' rebounds ', np. max ))
sum_points mean_assists max_rebounds
team
A 85 5.50 15
B 73 7.75 11
Deze resultaten komen overeen met die van het vorige voorbeeld.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe u alle kolomnamen in Panda’s kunt weergeven
Hoe kolommen op naam te sorteren in Pandas
Hoe dubbele kolommen in Pandas te verwijderen