كيفية حساب المتوسط المرجح في الباندا


يمكنك استخدام الدالة التالية لحساب المتوسط المرجح في الباندا:

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

توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.

مثال 1: المتوسط المرجح بين حيوانات الباندا

يوضح الكود التالي كيفية استخدام دالة المتوسط المرجح لحساب المتوسط المرجح لمجموعة بيانات معينة، باستخدام “السعر” كقيم و”المبلغ” كالوزن:

 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

وتبين أن المتوسط المرجح لـ “السعر” هو 9,706 .

مثال 2: التجميع والمتوسط المرجح في Pandas

يوضح التعليمة البرمجية التالية كيفية استخدام دالة المتوسط المرجح لحساب المتوسط المرجح للأسعار، مجمعة حسب مندوب المبيعات:

 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

يمكننا أن نرى ما يلي:

  • المتوسط المرجح لـ “السعر” لمندوب المبيعات “أ” هو 5,833 .
  • المتوسط المرجح لـ “سعر مندوب المبيعات ب” هو 11,818 .

مصادر إضافية

كيفية مقارنة عمودين في الباندا
كيفية حساب مجموع الأعمدة في الباندا
كيفية حساب متوسط الأعمدة في الباندا

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *