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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert