Cara menghitung rata-rata tertimbang di panda
Anda dapat menggunakan fungsi berikut untuk menghitung rata-rata tertimbang di Pandas:
def w_avg(df, values, weights): d = df[values] w = df[weights] return (d*w). sum () / w. sum ()
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh 1: Rata-rata tertimbang di antara panda
Kode berikut menunjukkan cara menggunakan fungsi rata-rata tertimbang untuk menghitung rata-rata tertimbang untuk kumpulan data tertentu, menggunakan “harga” sebagai nilai dan “jumlah” sebagai bobot:
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
Rata-rata tertimbang “harga” ternyata 9,706 .
Contoh 2: Groupby dan rata-rata tertimbang di Pandas
Kode berikut menunjukkan cara menggunakan fungsi rata-rata tertimbang untuk menghitung rata-rata tertimbang harga, yang dikelompokkan berdasarkan tenaga penjualan:
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
Kita dapat melihat hal berikut:
- Rata-rata tertimbang “harga” untuk tenaga penjual A adalah 5,833 .
- Rata-rata tertimbang “Harga Perwakilan Penjualan B” adalah 11,818 .
Sumber daya tambahan
Bagaimana membandingkan dua kolom di Pandas
Cara menghitung jumlah kolom di Pandas
Cara menghitung rata-rata kolom di Pandas