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?