Pandalar: bir pivot tabloda multiindex nasıl kaldırılır


Bir pandalar pivot tablosundan bir multiIndex’i kaldırmak için, değerler bağımsız değişkenini reset_index() işleviyle kullanabilirsiniz:

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

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandas PivotTable’da MultiIndex’i kaldırma

Çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:

 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

Şimdi ortalama puan değerini takıma ve konuma göre özetlemek için aşağıdaki pivot tabloyu oluşturduğumuzu varsayalım:

 #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

Ortaya çıkan pivot tablo, takıma ve pozisyona göre ortalama puan değerini özetler ancak bir multiIndex içerir.

multiIndex’i kaldırmak için pivot_table() fonksiyonundaki değerler argümanını kullanabilir ve sonuna reset_index() ekleyebiliriz:

 #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

Ortaya çıkan pivot tablo, takıma ve pozisyona göre ortalama puan değerini özetler ve artık bir multiIndex’e sahip değildir.

Pivot_table() işlevinin varsayılan olarak ortalama değeri hesapladığını unutmayın.

Toplam gibi başka bir metriği hesaplamak için aggfunc bağımsız değişkenini aşağıdaki gibi kullanın:

 #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

Ortaya çıkan pivot tablo, puan değerlerinin toplamını takıma ve pozisyona göre özetler ve ayrıca bir multiIndex’e sahip değildir.

Not : Pandaların pivot_table() işlevinin tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar: Pivot tabloya filtre nasıl eklenir?
Pandalar: Pivot tablo sütundaki değerlere göre nasıl sıralanır
Pandalar: Pivot tabloya alt toplamlar nasıl eklenir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir