Pandalarda ağırlıklı ortalama nasıl hesaplanır


Pandalarda ağırlıklı ortalamayı hesaplamak için aşağıdaki işlevi kullanabilirsiniz:

 def w_avg(df, values, weights):
    d = df[values]
    w = df[weights]
    return (d*w). sum () / w. sum ()

Aşağıdaki örnekler bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Pandalar arasında ağırlıklı ortalama

Aşağıdaki kod, değerler olarak “fiyat” ve ağırlık olarak “tutar” kullanılarak belirli bir veri kümesi için ağırlıklı ortalamanın hesaplanması amacıyla ağırlıklı ortalama fonksiyonunun nasıl kullanılacağını gösterir:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' sales_rep ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' price ': [8, 5, 6, 7, 12, 14],
                   ' amount ': [1, 3, 2, 2, 5, 4]})

#view DataFrame
df

	sales_rep price amount
0 to 8 1
1 to 5 3
2 to 6 2
3 B 7 2
4 B 12 5
5 B 14 4

#find weighted average of price
w_avg(df, ' price ', ' amount ')

9.705882352941176

“Fiyat”ın ağırlıklı ortalaması ise 9.706 oldu.

Örnek 2: Pandalarda gruplandırma ve ağırlıklı ortalama

Aşağıdaki kod, satış görevlisine göre gruplandırılmış fiyatların ağırlıklı ortalamasını hesaplamak için ağırlıklı ortalama işlevinin nasıl kullanılacağını gösterir:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' sales_rep ': ['A', 'A', 'A', 'B', 'B', 'B'],
                   ' price ': [8, 5, 6, 7, 12, 14],
                   ' amount ': [1, 3, 2, 2, 5, 4]})

#find weighted average of price, grouped by sales rep
df. groupby (' sales_rep '). apply (w_avg, ' price ', ' amount ')

sales_rep
A 5.833333
B 11.818182
dtype:float64

Aşağıdakileri görebiliriz:

  • Satış elemanı A için ağırlıklı ortalama “fiyat” 5.833’tür .
  • “Satış Temsilcisi B Fiyatı”nın ağırlıklı ortalaması 11.818 adettir.

Ek kaynaklar

Pandalar’da iki sütun nasıl karşılaştırılır
Pandalar’da sütunların toplamı nasıl hesaplanır?
Pandalar’daki sütunların ortalaması nasıl hesaplanır?

Yorum ekle

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