Pandalar: where koşuluyla group by nasıl kullanılır?


Pandalarda group by komutunu Where koşuluyla kullanmanın en kolay yolu query() işlevini kullanmaktır:

 df. query (" team == 'A' "). groupby ([" position "])[" points "]. mean (). reset_index ()

Bu özel örnek, bazı pandalar DataFrame’de takımın “A”ya eşit olduğu, pozisyona göre gruplandırılmış puanların ortalama değerini hesaplar.

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

Örnek: Pandalarda Group By Where koşuluyla nasıl kullanılır?

Ç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', 'A', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'F'],
                   ' points ': [22, 14, 15, 10, 8, 29, 33, 18]})

#view DataFrame
print (df)

  team position points
0 AG 22
1 AG 14
2 AF15
3 AF 10
4 AF 8
5 BG 29
6 BG 33
7 BF 18

Takımın “A”ya eşit olduğu pozisyona göre gruplandırılmış ortalama puan değerini hesaplamak için aşağıdaki kodu kullanabiliriz:

 #calculate mean value of points, grouped by position, where team == 'A'
df. query (" team == 'A' "). groupby ([" position "])[" points "]. mean (). reset_index ()

        position points
0 F 11.0
1G 18.0

Sonuçtan şunları görebiliriz:

  • A takımında “F” pozisyonundaki oyuncuların ortalama puan değeri 11’dir .
  • A takımının “G” pozisyonundaki oyuncuların ortalama puan değeri 18’dir .

Birden fazla koşulun karşılandığı satırları bulmak için query() işlevinde & operatörünü de kullanabileceğimizi unutmayın.

Örneğin, aşağıdaki kod, takımın “A” ve konumun “G”ye eşit olduğu pozisyona göre gruplandırılmış ortalama puan değerinin nasıl hesaplanacağını gösterir:

 #calculate mean value of points by position where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' "). groupby ([" position "])[" points "]. mean (). reset_index ()

	position points
0G 18.0

Sonuçtan A takımında “G” pozisyonundaki oyuncuların ortalama puan değerinin 18 olduğunu görüyoruz.

query() fonksiyonunda iki koşul belirttiğimiz için yalnızca her iki koşulu da karşılayan satırlar kullanıldı.

Ek kaynaklar

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

Pandalarda GroupBy toplamı nasıl gerçekleştirilir?
Pandalarda Groupby ve Plot nasıl kullanılır?
Pandalar’da GroupBy kullanılarak benzersiz değerler nasıl sayılır?

Yorum ekle

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