& Nbsp; phạm vi Interquartile & nbsp;, thường được ký hiệu là IQR, là một cách để đo lường sự lây lan của 50% bộ dữ liệu. Nó được tính là sự khác biệt giữa phần tư đầu tiên* [phần trăm thứ 25] và phần tư thứ ba [phần trăm thứ 75] của bộ dữ liệu. & NBSP;interquartile range, often denoted “IQR”, is a way to measure the spread of the middle 50% of a dataset. It is calculated as the difference between the first quartile* [the 25th percentile] and the third quartile [the 75th percentile] of a dataset.
May mắn thay, nó dễ dàng tính toán phạm vi liên vùng của một bộ dữ liệu trong Python bằng cách sử dụng hàm numpy.percentile [].
Hướng dẫn này cho thấy một số ví dụ về cách sử dụng chức năng này trong thực tế.
Ví dụ 1: Phạm vi liên vùng của một mảng
Mã sau đây cho thấy cách tính phạm vi liên kết của các giá trị trong một mảng duy nhất:
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
Phạm vi liên vùng của bộ dữ liệu này hóa ra là & nbsp; 12,25. Đây là sự lây lan của 50% giá trị giữa trong bộ dữ liệu này.12.25. This is the spread of the middle 50% of values in this dataset.
Ví dụ 2: Phạm vi liên vùng của cột khung dữ liệu
Mã sau đây cho thấy cách tính phạm vi liên vùng của một cột trong khung dữ liệu:
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
Phạm vi liên kết của các giá trị trong cột Điểm hóa ra là 5,75.5.75.
Ví dụ 3: Phạm vi liên vùng của nhiều cột khung dữ liệu
Mã sau đây cho thấy cách tính phạm vi liên vùng của nhiều cột trong khung dữ liệu cùng một lúc:
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
Lưu ý: & nbsp; chúng tôi sử dụng hàm pandas.dataframe.apply [] để tính IQR cho nhiều cột trong khung dữ liệu ở trên.We use the pandas.DataFrame.apply[] function to calculate the IQR for multiple columns in the data frame above.
Tài nguyên bổ sung
Phạm vi liên vùng [IQR] có bị ảnh hưởng bởi các ngoại lệ không? Cách tính phạm vi liên vùng [IQR] trong máy tính phạm vi liên vùng Excel
How to Calculate the Interquartile Range [IQR] in Excel
Interquartile Range Calculator
Một hướng dẫn về việc tìm kiếm phạm vi liên vùng của một bộ dữ liệu sử dụng Python.
Trong số liệu thống kê, phạm vi liên vùng cho biết nửa giữa của phân phối bộ dữ liệu. Phân đoạn phân phối bất kỳ phân phối nào được đặt hàng từ thấp đến cao thành bốn phần bằng nhau. Phạm vi liên vùng, hoặc IQR, chứa các tứ phân vị thứ hai và thứ ba hoặc nửa giữa của bộ dữ liệu.
Có bốn bước trong việc xác định IQR, được liệt kê dưới đây:
- Sắp xếp dữ liệu.
- Tính toán Q1 và Q3.
- IQR = Q3 - Q1.
- Tìm hàng rào thấp hơn, là Q1 - [1.5*IQR].
- Tìm hàng rào trên, là Q3 + [1.5*IQR].
Tôi đã tạo một tập lệnh bằng Google Colab, đây là một cuốn sổ tay Jupyter trực tuyến miễn phí cho phép mọi người viết các chương trình bằng Python.
Khi tôi tạo sổ ghi chép Jupyter, tôi đã nhập các thư viện mà tôi sẽ cần để chạy nó. Các thư viện tôi đã nhập là:-
- Numpy để thực hiện các tính toán toán học và tạo ra các mảng numpy,
- Gấu trúc để tạo và thao tác với các khung dữ liệu,
- Matplotlib để vẽ các điểm dữ liệu lên biểu đồ và
- Seaborn để thực hiện các chức năng đồ họa thống kê.
Sau đó tôi đã tạo một bộ dữ liệu, đảm bảo nó có ngoại lệ trong đó:-
Khi bộ dữ liệu được tạo và vẽ trên biểu đồ sử dụng Seaborn, tôi đã sử dụng Numpy để tính toán phạm vi liên vùng:-
- Tôi đã sử dụng phần trăm của Numpy để tính toán các nhóm tứ phân vị thứ nhất và thứ ba.
- Tôi đã tính toán phạm vi liên vùng, IQR, bằng cách trừ Q1 từ Q3.
- Sau đó tôi đã tính toán hàng rào dưới và trên, đã xem xét ngoại lệ.
Cuối cùng, tôi đã sử dụng Seaborn để tạo ra một ô hộp của bộ dữ liệu, lưu ý rằng ngoại lệ nằm ở phía bên phải của cốt truyện:-
IQR rất quan trọng trong số liệu thống kê vì nó có thể hữu ích trong việc loại bỏ các ngoại lệ khỏi bộ dữ liệu.
Tôi đã chuẩn bị đánh giá mã cho bài đăng này, có thể xem ở đây:- //www.youtube.com/watch?v=p1xqoumO8G
Thêm nội dung tại Plainenglish.io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Kiểm tra cộng đồng của chúng tôi Discord và tham gia tập thể tài năng của chúng tôi.PlainEnglish.io. Sign up for our free weekly newsletter. Follow us on Twitter and LinkedIn. Check out our Community Discord and join our Talent Collective.