Pandalar: birden fazla aggfunc içeren bir pivot tablo oluşturun


Pandalarda pivot tablo oluşturmak ve aggfunc argümanına birden fazla değer sağlamak için aşağıdaki sözdizimini kullanabilirsiniz:

 df. pivot_table (index=' col1 ', values=' col2 ', aggfunc=(' sum ', ' mean '))

Bu özel örnek, col2 içindeki değerlerin toplamını ve ortalamasını col1’e göre gruplandırarak görüntüleyen bir pivot tablo oluşturur.

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

Örnek: Birden fazla aggfunc içeren bir Pandas pivot tablosu oluşturun

Ç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', 'C', 'C', 'C', 'C'],
                   ' points ': [4, 4, 2, 8, 9, 5, 5, 7, 8, 8, 4, 3],
                   ' assists ': [2, 2, 5, 5, 4, 7, 5, 3, 9, 8, 4, 4]})

#view DataFrame
print (df)

   team points assists
0 to 4 2
1 to 4 2
2 to 2 5
3 to 8 5
4 B 9 4
5 B 5 7
6 B 5 5
7 B 7 3
8 C 8 9
9 C 8 8
10 C 4 4
11 C 3 4

Her takımın attığı toplam ve ortalama puan sayısını özetleyen bir pivot tablo oluşturmak için aşağıdaki kodu kullanabiliriz:

 #create pivot table to summarize sum and mean of points by team
df. pivot_table (index=' team ', values=' points ', aggfunc=(' sum ', ' mean '))

	mean sum
team		
At 4.50 18
B 6.50 26
C 5.75 23

Ortaya çıkan pivot tablo, her takımın attığı puanların ortalamasını ve toplamını özetler.

Örneğin şunları görebiliriz:

  • A Takımı oyuncularının ortalama puan değeri 4,50 , toplam puan değeri ise 18 oldu.
  • B takımı oyuncularının ortalama puan değeri 6,50 , toplam puan değeri ise 26 oldu.
  • C Takımı oyuncularının ortalama puan değeri 5,75 , toplam puan değeri ise 23 oldu.

Bu örnekte toplam ve ortalamayı kullanarak toplama yaptığımızı, ancak aynı zamanda aşağıdakiler gibi başka metriklerle de toplama yapabileceğimizi unutmayın:

  • saymak
  • dk.
  • maksimum
  • medyan
  • std (standart sapma)

Aşağıdaki örnek, her takım için bu ölçümlere dayalı olarak puan sütunu değerlerinin nasıl toplanacağını gösterir:

 #create pivot table to summarize several metrics for points by team
df. pivot_table (index=' team ', values=' points ',
               aggfunc=(' count ', ' min ', ' max ', ' median ', ' std '))

        count max median min std
team					
A 4 8 4.0 2 2.516611
B 4 9 6.0 5 1.914854
C 4 8 6.0 3 2.629956

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

Ek kaynaklar

Aşağıdaki eğitimlerde diğer yaygın panda görevlerinin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar: Pivot tablo sütundaki değerlere göre nasıl sıralanır
Pandalar: Değerlerin toplamını içeren bir pivot tablo nasıl oluşturulur?
Pandalar: Pivot tabloya alt toplamlar nasıl eklenir?
Pandalar: Pivot tablodaki sütun adları nasıl değiştirilir?

Yorum ekle

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