Bagaimana mengonversi keluaran pandas groupby ke dataframe


Tutorial ini menjelaskan cara mengonversi output pandas GroupBy ke pandas DataFrame.

Contoh: Konversi keluaran Pandas GroupBy ke DataFrame

Misalkan kita memiliki panda DataFrame berikut yang menunjukkan poin yang dicetak oleh pemain bola basket dari tim berbeda:

 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

Kita dapat menggunakan sintaks berikut untuk menghitung jumlah pemain, dikelompokkan berdasarkan tim dan posisi :

 #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

Dari outputnya kita bisa melihat jumlah pemain yang dikelompokkan berdasarkan tim dan posisinya .

Namun, katakanlah kita ingin keluaran kita menampilkan nama tim di setiap baris seperti ini:

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

Untuk mencapai hasil ini, kita cukup menggunakan reset_index() saat menjalankan 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

Outputnya sekarang muncul dalam format yang diinginkan.

Perhatikan bahwa argumen nama di reset_index() menentukan nama kolom baru yang dihasilkan oleh GroupBy.

Kami juga dapat mengonfirmasi bahwa hasilnya memang pandas DataFrame:

 #display object type of df_out
type (df_out)

pandas.core.frame.DataFrame

Catatan : Anda dapat menemukan dokumentasi lengkap operasi GroupBy di pandas di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Pandas: cara menghitung jumlah kumulatif per kelompok
Pandas: cara menghitung nilai unik berdasarkan kelompok
Pandas: cara menghitung korelasi berdasarkan kelompok

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *