Jak przekonwertować dane wyjściowe pandas groupby na dataframe


W tym samouczku wyjaśniono, jak przekonwertować dane wyjściowe pandy GroupBy na pandę DataFrame.

Przykład: Konwertuj dane wyjściowe Pandas GroupBy na DataFrame

Załóżmy, że mamy następującą ramkę danych pand, która pokazuje punkty zdobyte przez koszykarzy z różnych drużyn:

 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

Możemy użyć następującej składni, aby policzyć liczbę graczy pogrupowanych według drużyny i pozycji :

 #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

Na podstawie wyników możemy zobaczyć całkowitą liczbę graczy pogrupowanych według drużyn i pozycji .

Załóżmy jednak, że chcemy, aby nasze dane wyjściowe wyświetlały nazwę zespołu w każdym wierszu w następujący sposób:

 team position count
0 AC 1
1 AF 1
2 AG 2
3 BF 3
4 BG 1

Aby osiągnąć ten wynik, możemy po prostu użyć reset_index() podczas uruchamiania 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

Dane wyjściowe pojawią się teraz w żądanym formacie.

Zauważ, że argument name w reset_index() określa nazwę nowej kolumny utworzonej przez GroupBy.

Możemy również potwierdzić, że wynikiem rzeczywiście jest ramka DataFrame pandy:

 #display object type of df_out
type (df_out)

pandas.core.frame.DataFrame

Uwaga : pełną dokumentację operacji GroupBy w pandach znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Pandy: jak obliczyć skumulowaną sumę na grupę
Pandy: jak liczyć unikalne wartości według grupy
Pandy: jak obliczyć korelację według grup

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *