Pandas: cara menghapus multiindex di tabel pivot


Untuk menghapus multiIndex dari tabel pivot pandas, Anda dapat menggunakan argumen nilai dengan fungsi reset_index() :

 p.d. pivot_table (df, index=' col1 ', columns=' col2 ', values=' col3 '). reset_index ()

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Hapus MultiIndex di Pandas PivotTable

Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang berbagai pemain bola basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'],
                   ' points ': [4, 4, 6, 8, 9, 5, 5, 12]})

#view DataFrame
print (df)

  team position points
0 AG 4
1 GA 4
2 AF 6
3AF 8
4 BG 9
5 BF 5
6 BF 5
7 BF 12

Sekarang anggaplah kita membuat tabel pivot berikut untuk merangkum nilai rata-rata poin berdasarkan tim dan posisi :

 #create pivot table to summarize mean points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ')

	        points
FG position
team		
At 7.000000 4.0
B 7.333333 9.0

Tabel pivot yang dihasilkan merangkum nilai poin rata-rata berdasarkan team dan position , namun berisi multiIndex.

Untuk menghapus multiIndex, kita dapat menggunakan argumen nilai di fungsi pivot_table() dan menambahkan reset_index() di akhir:

 #create pivot table to summarize mean points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ', values=' points '). reset_index ()

position team F G
0 to 7.000000 4.0
1 B 7.333333 9.0

Tabel pivot yang dihasilkan merangkum nilai poin rata-rata berdasarkan tim dan posisi dan tidak lagi memiliki multiIndex.

Perhatikan bahwa fungsi pivot_table() menghitung nilai rata-rata secara default.

Untuk menghitung metrik lain, seperti jumlah, gunakan argumen aggfunc sebagai berikut:

 #create pivot table to summarize sum of points by team and position
p.d. pivot_table (df, index=' team ', columns=' position ', values=' points ',
               aggfunc=' sum '). reset_index ()

position team FG
0 to 14 8
1 B 22 9

Tabel pivot yang dihasilkan merangkum jumlah nilai poin berdasarkan tim dan posisi dan juga tidak memiliki multiIndex.

Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas pivot_table() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Pandas: Cara menambahkan filter ke tabel pivot
Pandas: Cara mengurutkan tabel pivot berdasarkan nilai di kolom
Pandas: Cara menambahkan subtotal ke tabel pivot

Tambahkan komentar

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