วิธีคำนวณพิสัยระหว่างควอไทล์ใน python


ช่วง ระหว่างควอไทล์ หรือที่มักเรียกว่า “IQR” เป็นวิธีการวัดการกระจายตัวของชุดข้อมูลที่อยู่ตรงกลาง 50% โดยคำนวณเป็นความแตกต่างระหว่างควอร์ไทล์ที่ 1* (เปอร์เซ็นไทล์ที่ 25) และควอร์ไทล์ที่ 3 (เปอร์เซ็นไทล์ที่ 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
เครื่องคำนวณช่วงระหว่างควอไทล์

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *