كيفية حساب المدى الربيعي في بايثون
النطاق الربيعي ، الذي يطلق عليه غالبًا “IQR”، هو وسيلة لقياس توزيع الـ 50% الوسطى من مجموعة البيانات. ويتم حسابه على أنه الفرق بين الربع الأول* (المئين الخامس والعشرين) والربيع الثالث (المئين الخامس والسبعين) لمجموعة البيانات.
لحسن الحظ، من السهل حساب النطاق الربيعي لمجموعة بيانات في بايثون باستخدام الدالة numpy.percentile() .
يوضح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.
مثال 1: المدى الربيعي للجدول
يوضح الكود التالي كيفية حساب النطاق الربعي للقيم في جدول واحد:
import numpy as np #define array of data data = np.array([14, 19, 20, 22, 24, 26, 27, 30, 30, 31, 36, 38, 44, 47]) #calculate interquartile range q3, q1 = np. percentile (data, [75,25]) iqr = q3 - q1 #display interquartile range iqr 12.25
تبين أن المدى الربيعي لمجموعة البيانات هذه هو 12.25 . هذا هو توزيع الـ 50% الوسطى من القيم في مجموعة البيانات هذه.
المثال 2: النطاق الربعي لعمود إطار البيانات
يوضح التعليمة البرمجية التالية كيفية حساب النطاق الربيعي لعمود واحد في إطار البيانات:
import numpy as np import pandas as pd #create data frame df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86], 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19], 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]}) #calculate interquartile range of values in the 'points' column q75, q25 = np. percentile (df['points'], [75,25]) iqr = q75 - q25 #display interquartile range iqr 5.75
تبين أن المدى الربيعي للقيم في عمود النقاط هو 5.75 .
مثال 3: النطاق الربعي لأعمدة إطار البيانات المتعددة
يوضح التعليمة البرمجية التالية كيفية حساب النطاق الربيعي لأعمدة متعددة في إطار بيانات في وقت واحد:
import numpy as np import pandas as pd #create data frame df = pd.DataFrame({'rating': [90, 85, 82, 88, 94, 90, 76, 75, 87, 86], 'points': [25, 20, 14, 16, 27, 20, 12, 15, 14, 19], 'assists': [5, 7, 7, 8, 5, 7, 6, 9, 9, 5], 'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]}) #define function to calculate interquartile range def find_iqr(x): return np. subtract (*np. percentile (x, [75, 25])) #calculate IQR for 'rating' and 'points' columns df[[' rating ', ' points ']]. apply (find_iqr) rating 6.75 points 5.75 dtype:float64 #calculate IQR for all columns df. apply (find_iqr) rating 6.75 points 5.75 assists 2.50 rebounds 3.75 dtype:float64
ملاحظة: نستخدم الدالة pandas.DataFrame.apply() لحساب معدل الذكاء لأعمدة متعددة في إطار البيانات أعلاه.
مصادر إضافية
هل يتأثر المدى الربيعي (IQR) بالقيم المتطرفة؟
كيفية حساب المدى الربيعي (IQR) في برنامج إكسل
حاسبة المدى الربيعي