Hoe pandas groupby-uitvoer naar dataframe te converteren
In deze zelfstudie wordt uitgelegd hoe u de uitvoer van een panda’s GroupBy naar een panda’s DataFrame converteert.
Voorbeeld: Converteer Pandas GroupBy-uitvoer naar DataFrame
Stel dat we het volgende panda’s DataFrame hebben dat de punten weergeeft die zijn gescoord door basketbalspelers van verschillende teams:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
' position ': ['G', 'G', 'F', 'C', 'G', 'F', 'F', 'F'],
' points ': [5, 7, 7, 10, 12, 22, 15, 10]})
#view DataFrame
print (df)
team position points
0 AG 5
1 AG 7
2AF 7
3 AC 10
4 BG 12
5 BF 22
6 BF 15
7 BF 10
We kunnen de volgende syntaxis gebruiken om het aantal spelers te tellen, gegroepeerd op team en positie :
#count number of players, grouped by team and position
group = df. groupby ([' team ', ' position ']). size ()
#viewoutput
print (group)
team position
AC 1
F 1
G2
BF 3
G 1
dtype: int64
Uit de uitvoer kunnen we het totale aantal spelers zien, gegroepeerd op team en positie .
Laten we echter zeggen dat we willen dat onze uitvoer de teamnaam in elke rij als volgt weergeeft:
team position count
0 AC 1
1 AF 1
2 AG 2
3 BF 3
4 BG 1
Om dit resultaat te bereiken, kunnen we eenvoudigweg reset_index() gebruiken bij het uitvoeren van GroupBy:
#count number of players, grouped by team and position
df_out = df. groupby ([' team ', ' position ']). size (). reset_index (name=' count ')
#viewoutput
print (df_out)
team position count
0 AC 1
1 AF 1
2 AG 2
3 BF 3
4 BG 1
De uitvoer verschijnt nu in het gewenste formaat.
Merk op dat het naamargument in reset_index() de naam specificeert van de nieuwe kolom die door GroupBy wordt geproduceerd.
We kunnen ook bevestigen dat het resultaat inderdaad een Panda DataFrame is:
#display object type of df_out
type (df_out)
pandas.core.frame.DataFrame
Opmerking : u kunt hier de volledige documentatie van de GroupBy-bewerking in panda’s vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Panda’s: hoe bereken je de cumulatieve som per groep
Panda’s: unieke waarden per groep tellen
Panda’s: hoe de correlatie per groep te berekenen