Pandalar: iki sütun nasıl gruplandırılır ve toplanır


İki sütuna göre gruplamak ve başka bir sütunu toplamak için pandalarda groupby() işleviyle aşağıdaki temel sözdizimini kullanabilirsiniz:

 df. groupby ([' var1 ',' var2 '])[' var3 ']. mean ()

Bu özel örnek, DataFrame’i var1 ve var2 sütunlarına göre gruplandırır, ardından var3 sütununun ortalamasını hesaplar.

Aşağıdaki örnekler, aşağıdaki pandalar DataFrame’i kullanarak iki sütunda nasıl gruplandırılacağını ve toplanacağını gösterir:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'F', 'G', 'G', 'G', 'G', 'F'],
                   ' points ': [15, 22, 24, 25, 20, 35, 34, 19, 14, 12]})

#view DataFrame
print (df)

  team position points
0 AG 15
1 AG 22
2 AF 24
3 AF 25
4 AF 20
5 BG 35
6 BG 34
7 BG 19
8 BG 14
9 BF 12

Örnek 1: İki sütunu gruplandırın ve başka bir sütunun ortalamasını hesaplayın

Takım ve pozisyon sütunlarına göre gruplandırılmış puan sütununun ortalama değerini hesaplamak için aşağıdaki sözdizimini kullanabiliriz:

 #calculate mean of points grouped by team and position columns
df. groupby ([' team ', ' position '])[' points ']. mean ()

team position
AF23.0
      G 18.5
BF 12.0
      G 25.5
Name: points, dtype: float64

Sonuçtan şunları görebiliriz:

  • A takımının F pozisyonundaki oyuncularının ortalama puan değeri 23’tür .
  • G pozisyonundaki A takımı oyuncularının ortalama puan değeri 18,5’tir .

Ve benzeri.

Örnek 2: İki sütunu gruplandırın ve başka bir sütunun maksimumunu hesaplayın

Takım ve pozisyon sütunlarına göre gruplandırılmış puan sütununun maksimum değerini hesaplamak için aşağıdaki sözdizimini kullanabiliriz:

 #calculate max of points grouped by team and position columns
df. groupby ([' team ', ' position '])[' points ']. max ()

team position
AF25
      G22
BF 12
      G 35
Name: points, dtype: int64

Sonuçtan şunları görebiliriz:

  • A takımında F pozisyonundaki oyuncular için maksimum puan değeri 25’tir .
  • G pozisyonundaki A takımı oyuncuları için maksimum puan değeri 22’dir .

Ve benzeri.

Örnek 3: İki sütuna göre gruplandırın ve oluşumları sayın

Ekip ve pozisyon sütunlarının her kombinasyonunun oluşumlarını saymak için aşağıdaki sözdizimini kullanabiliriz:

 #count occurrences of each combination of team and position columns
df. groupby ([' team ', ' position ']). size ()

team position
AF3
      G2
BF 1
      G4
dtype: int64

Sonuçtan şunları görebiliriz:

  • A takımında F pozisyonunda 3 oyuncu var.
  • A takımında G pozisyonunda 2 oyuncu var.

Ve benzeri.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandas GroupBy kullanılarak benzersiz değerler nasıl sayılır?
Pandas Groupby’ye bir işlev nasıl uygulanır?
Pandas GroupBy’den Bar Grafiği Nasıl Oluşturulur

Yorum ekle

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