Pandy: jak używać as_index w groupby


Możesz użyć argumentu as_index w operacji pandas groupby() , aby określić, czy kolumna, według której grupujesz, ma być używana jako indeks wyniku.

Argument as_index może mieć wartość True lub False .

Wartość domyślna to True .

Poniższy przykład pokazuje, jak w praktyce używać argumentu as_index .

Przykład: Jak używać as_index w grupie pand

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'],
                   ' points ': [12, 15, 17, 17, 19, 14, 15, 20, 24, 28]})
                            
#view DataFrame
print (df)

  team points
0 to 12
1 to 15
2 to 17
3 to 17
4 to 19
5 B 14
6 B 15
7 C 20
8 C 24
9 C 28

Możemy użyć poniższej składni, aby pogrupować wiersze według kolumny zespołu i obliczyć sumę kolumn punktów , podając as_index=True , aby użyć zespołu jako indeksu wyjściowego:

 #group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= True ) .sum ())

points
team        
At 80
B29
C 72

Dane wyjściowe wyświetlają sumę wartości w kolumnie punktów , pogrupowaną według wartości w kolumnie zespołu .

Należy pamiętać, że kolumna zespołu służy jako indeks wyniku.

Jeśli zamiast tego określimy as_index=False, wówczas kolumna zespołu nie będzie używana jako indeks wyjściowy:

 #group rows by team and calculate sum of points
print ( df.groupby (' team ', as_index= False ) .sum ())

  team points
0 to 80
1 B 29
2 C 72

Należy zauważyć, że zespół jest teraz używany jako kolumna w wynikach, a kolumna indeksu ma po prostu numer 0-2.

Uwaga : pełną dokumentację operacji groupby() pand można znaleźć tutaj .

Dodatkowe zasoby

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

Jak zdobyć grupę po użyciu Pandas Groupby
Jak przekonwertować dane wyjściowe Pandas GroupBy na DataFrame
Jak zastosować funkcję do Pandas Groupby

Dodaj komentarz

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