Python'da çeyrekler arası aralık nasıl hesaplanır
Genellikle “IQR” olarak adlandırılan çeyrekler arası aralık , bir veri kümesinin ortadaki %50’lik kısmının dağılımını ölçmenin bir yoludur. Bir veri setinin ilk çeyreği* (yüzde 25’inci dilim) ile üçüncü çeyreği (yüzde 75’inci dilim) arasındaki fark olarak hesaplanır.
Neyse ki Python’da bir veri kümesinin çeyrekler arası aralığını numpy.percentile() işlevini kullanarak hesaplamak kolaydır.
Bu eğitimde bu işlevin pratik kullanımına ilişkin birkaç örnek gösterilmektedir.
Örnek 1: bir tablonun çeyrekler arası aralığı
Aşağıdaki kod, tek bir tabloda çeyrekler arası değer aralığının nasıl hesaplanacağını gösterir:
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
Bu veri setinin çeyrekler arası aralığı 12,25 olarak ortaya çıkıyor. Bu, bu veri kümesindeki değerlerin ortadaki %50’sinin dağılımıdır.
Örnek 2: Veri Çerçevesi Sütununun Çeyrekler Arası Aralığı
Aşağıdaki kod, bir veri çerçevesindeki tek bir sütun için çeyrekler arası aralığın nasıl hesaplanacağını gösterir:
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
Puan sütunundaki değerlerin çeyrekler arası aralığı 5,75 olarak ortaya çıkıyor.
Örnek 3: Çoklu veri çerçevesi sütunlarının çeyrekler arası aralığı
Aşağıdaki kod, bir veri çerçevesindeki birden çok sütunun çeyrekler arası aralığının aynı anda nasıl hesaplanacağını gösterir:
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
Not: Yukarıdaki veri çerçevesindeki birden çok sütunun IQR’sini hesaplamak için pandas.DataFrame.apply() işlevini kullanırız.
Ek kaynaklar
Çeyrekler arası aralık (IQR) aykırı değerlerden etkileniyor mu?
Excel’de Çeyrekler Arası Aralık (IQR) Nasıl Hesaplanır?
Çeyrekler Arası Aralık Hesaplayıcı