Pandalar: groupby'yi çöp kutusu sayımı ile kullanma


Pandalarda başka bir değişkene göre gruplandırılmış bir değişkenin kutu sayısını hesaplamak için aşağıdaki sözdizimini kullanabilirsiniz:

 #define bins
groups = df. groupby ([' group_var ', pd. cut (df. value_var , bins)])

#display bin count by group variable
groups. size (). unstack ()

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

Örnek: Pandas’ta kutu sayısıyla GroupBy’yi kullanın

Farklı takımlardaki basketbol oyuncularının attığı puanları gösteren aşağıdaki panda DataFrame’e sahip olduğumuzu varsayalım:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'A', 'A', 'A',
                            'B', 'B', 'B', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [4, 7, 7, 11, 12, 15, 19, 19,
                             5, 5, 11, 12, 14, 14, 15, 15]})

#view DataFrame
print (df)

   team points
0 to 4
1 to 7
2 to 7
3 to 11
4 to 12
5 to 15
6 to 19
7 to 19
8 B 5
9 B 5
10 B 11
11 B 12
12 B 14
13 B 14
14 B 15
15 B 15

Her takımın belirli kutulara gruplandırılmış puan sıklığını hesaplamak için aşağıdaki sözdizimini kullanabiliriz:

 #define groups
groups = df. groupby ([' team ', pd. cut (df. points , [0, 10, 15, 20])])

#display bin count grouped by team
groups. size (). unstack ()

points (0, 10] (10, 15] (15, 20]
  team			
     A 3 3 2
     B 2 6 0

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • Toplamda A takımından 3 oyuncu 0 ile 10 arasında puan aldı.
  • Toplamda A takımından 3 oyuncu 10 ile 15 arasında sayı attı.
  • Toplamda A takımından 2 oyuncu 15 ile 20 arasında sayı attı.

Ve benzeri.

pd.cut() işlevinde hangi kutuları istediğimizi belirleyebileceğimizi unutmayın.

Örneğin yalnızca iki kutu tanımlayabiliriz:

 #define groups
groups = df. groupby ([' team ', pd. cut (df. points , [0, 10, 20])])

#display bin count grouped by team
groups. size (). unstack ()

points (0, 10] (10, 20]
  team		
     At 3 5
     B 2 6

Sonucun nasıl yorumlanacağı aşağıda açıklanmıştır:

  • Toplamda A takımından 3 oyuncu 0 ile 10 arasında puan aldı.
  • Toplamda A Takımından 5 oyuncu 10 ile 20 arasında puan aldı.
  • Toplamda B takımından 2 oyuncu 0 ile 10 arasında puan aldı.
  • Toplamda B Takımından 6 oyuncu 10 ile 20 arasında puan aldı.

Not 1 : GroupBy fonksiyonunun tam dokümantasyonunu burada bulabilirsiniz.

Not 2 : Kesme fonksiyonunun 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: Grup başına kümülatif toplam nasıl hesaplanır?
Pandalar: benzersiz değerlerin gruba göre nasıl sayılacağı
Pandalar: gruba göre mod nasıl hesaplanır
Pandalar: gruba göre korelasyon nasıl hesaplanır

Yorum ekle

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