पायथन में इंटरक्वेर्टाइल रेंज की गणना कैसे करें


इंटरक्वेर्टाइल रेंज , जिसे अक्सर “आईक्यूआर” कहा जाता है, डेटा सेट के मध्य 50% के वितरण को मापने का एक तरीका है। इसकी गणना डेटा सेट के पहले चतुर्थक* (25वें प्रतिशतक) और तीसरे चतुर्थक (75वें प्रतिशतक) के बीच अंतर के रूप में की जाती है।

सौभाग्य से, 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

नोट: हम उपरोक्त डेटा फ़्रेम में एकाधिक कॉलम के लिए IQR की गणना करने के लिए Pandas.DataFrame.apply() फ़ंक्शन का उपयोग करते हैं।

अतिरिक्त संसाधन

क्या इंटरक्वेर्टाइल रेंज (आईक्यूआर) आउटलेर्स से प्रभावित है?
एक्सेल में इंटरक्वेर्टाइल रेंज (आईक्यूआर) की गणना कैसे करें
इंटरक्वेर्टाइल रेंज कैलकुलेटर

एक टिप्पणी जोड़ने

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *