Pandas: cara mengganti nama kolom di fungsi groupby


Anda dapat menggunakan sintaks dasar berikut untuk mengganti nama kolom dalam fungsi groupby() di panda:

 df. groupby (' group_col '). agg (sum_col1=(' col1 ', ' sum '),
                            mean_col2=(' col2 ', ' mean '),
                            max_col3=(' col3 ', ' max '))

Contoh khusus ini menghitung tiga kolom agregat dan menamainya sum_col1 , Mean_col2 , dan max_col3 .

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Ganti nama kolom dalam fungsi Groupby di Pandas

Misalkan kita memiliki panda DataFrame berikut:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' points ': [30, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 6, 6, 5, 8, 7, 7, 9],
                   ' rebounds ': [4, 13, 15, 10, 7, 7, 5, 11]})

#view DataFrame
print (df)

  team points assists rebounds
0 to 30 5 4
1 to 22 6 13
2 A 19 6 15
3 A 14 5 10
4 B 14 8 7
5 B 11 7 7
6 B 20 7 5
7 B 28 9 11

Kita dapat menggunakan sintaks berikut untuk mengelompokkan baris berdasarkan kolom tim dan kemudian menghitung tiga kolom agregat sambil memberikan nama spesifik untuk kolom agregat:

 #calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', ' sum '),
                       mean_assists=(' assists ', ' mean '),
                       max_rebounds=(' rebounds ', ' max '))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

Perhatikan bahwa tiga kolom gabungan memiliki nama khusus yang kami berikan di fungsi agg() .

Perhatikan juga bahwa kita dapat menggunakan fungsi NumPy untuk menghitung jumlah, nilai rata-rata, dan maksimum dalam fungsi agg() jika kita mau.

 import numpy as np

#calculate several aggregated columns by group and rename aggregated columns
df. groupby (' team '). agg (sum_points=(' points ', np. sum ),
                       mean_assists=(' assists ', np. mean ),
                       max_rebounds=(' rebounds ', np. max ))

	sum_points mean_assists max_rebounds
team			
A 85 5.50 15
B 73 7.75 11

Hasil ini sesuai dengan contoh sebelumnya.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara membuat daftar semua nama kolom di Pandas
Cara mengurutkan kolom berdasarkan nama di Pandas
Cara menghapus kolom duplikat di Pandas

Tambahkan komentar

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