Як обчислити інтерквартильний діапазон у python


Міжквартильний діапазон , який часто називають “IQR”, є способом вимірювання розподілу середніх 50% набору даних. Він обчислюється як різниця між першим квартилем* (25-м процентилем) і третім квартилем (75-м процентилем) набору даних.

На щастя, легко обчислити інтерквартильний діапазон набору даних у Python за допомогою функції 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) викиди?
Як обчислити міжквартильний діапазон (IQR) в Excel
Калькулятор інтерквартильного діапазону

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *