Hướng dẫn iqr in python without numpy - iqr trong python không có numpy
Show Giới thiệuĐiều kiện tiên quyết: Quartiles, Quantiles và phần trăm Quartiles, Quantiles and Percentiles Phạm vi & nbsp; phạm vi liên vùng (IQR) là sự khác biệt giữa phần trăm thứ 75 (0,75 lượng tử) và phần trăm thứ 25 (0,25 lượng tử). IQR có thể được sử dụng để phát hiện các ngoại lệ trong dữ liệu.Interquartile range (IQR) is the difference between the 75th percentile (0.75 quantile) and the 25th percentile (0.25 quantile). The IQR can be used to detect outliers in the data. Thực hành Pythonimport pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline 1 - Bộ dữ liệuĐối với hướng dẫn này, chúng tôi sẽ sử dụng nhiệt độ trung bình toàn cầu từ năm 1980 đến 2016. Bộ dữ liệu gốc có thể được tìm thấy trên Datahub.io. df = pd.read_csv("../data/temperature_CO2.csv") df = df.dropna() df = df[['year', 'temperature']] df.head(3) year temperature 2 - Tính tỷ lệ phần trămĐể tính toán IQR, chúng ta cần biết nhiệt độ nào tương ứng với:
Để đạt được điều này, trước tiên hãy sắp xếp bộ dữ liệu của bạn bằng nhiệt độ tăng dần và đặt lại các chỉ số. df = df.sort_values(by='temperature').reset_index(drop=True) df.head() year temperature Sau đó, sử dụng quy tắc ba để tìm chỉ số giá trị tương ứng với thứ hạng phần trăm của bạn. Ví dụ cho phần trăm thứ 25: $$ \ textbf {length (data)} -1 \ longrightarrow 100^{th} \ text {phần trăm} $$ $$ \ textbf {length (x)} & nbsp; \ longrightarrow 25^{th} \ text {phần trăm} $$ & Nbsp; ________ 12 & nbsp; có tính đến thực tế là các chỉ số bắt đầu ở mức 0. Vì thế def get_percentile(df, percentile_rank): # First, sort by ascending temperature, reset the indices df = df.sort_values(by='temperature').reset_index() # Rule of three to get the index of the temperature index = (len(df.index)-1) * percentile_rank / 100.0 index = int(index) # Return the temperature corresponding to the percentile rank return df.at[index, 'temperature'] Vì vậy, chúng tôi thấy rằng phần trăm thứ 25 là 0,32 độ C, và phần trăm thứ 75 là 0,63 độ C. get_percentile(df, 25) >>> 0.32 get_percentile(df, 75) >>> 0.63 2 - Tính IQRGần như được thực hiện: Vì phạm vi liên vùng (IQR) là sự khác biệt giữa phần trăm thứ 75 và phần trăm thứ 25, tất cả những gì chúng ta cần làm là trừ cả hai giá trị nhiệt độ. def interquartile_range(df): p75 = get_percentile(df, 75) # 75th percentile p25 = get_percentile(df, 25) # 75th percentile iqr = p75 - p25 # Interquartile Range return iqr interquartile_range(df) >>> 0.31 3 - Xác nhậnMã hóa IQR từ đầu là một cách tốt để học toán đằng sau nó, nhưng trong cuộc sống thực, bạn sẽ sử dụng một thư viện Python để tiết kiệm thời gian. Chúng tôi có thể sử dụng & nbsp; ________ 13 & nbsp; hàm từ & nbsp; ____ 14 & nbsp; để xác thực kết quả của chúng tôi. df = pd.read_csv("../data/temperature_CO2.csv") df = df.dropna() df = df[['year', 'temperature']] df.head(3)0 4 - Trực quan hóaHãy để âm mưu cho phần trăm thứ 25, phần trăm thứ 50 (trung bình) và phần trăm thứ 75 của dữ liệu. df = pd.read_csv("../data/temperature_CO2.csv") df = df.dropna() df = df[['year', 'temperature']] df.head(3)1 Đối với một máy tính xách tay Python hoạt động đầy đủ, hãy kiểm tra GitHub của tôi. Làm thế nào để bạn tìm thấy IQR trong Python?Tính phạm vi liên vùng của mảng trong Python. Chức năng phần trăm () chấp nhận bộ dữ liệu và phần trăm của các nhóm tứ phân như các tham số đầu vào và trả về các bộ tứ được tính toán. Sau khi trừ tứ phân vị đầu tiên từ Bộ tứ thứ ba, chúng tôi nhận được phạm vi liên vùng cho bộ dữ liệu.After subtracting the first quartile from the third quartile we get the interquartile range for the dataset.
Làm thế nào để bạn tìm thấy IQR theo cách thủ công?Để tìm phạm vi liên vùng (IQR), trước tiên hãy tìm trung bình (giá trị trung bình) của nửa dưới và nửa trên của dữ liệu. Các giá trị này là phần tư 1 (q1) và tứ phân 3 (q3). IQR là sự khác biệt giữa Q3 và Q1.first find the median (middle value) of the lower and upper half of the data. These values are quartile 1 (Q1) and quartile 3 (Q3). The IQR is the difference between Q3 and Q1.
Làm thế nào để bạn tìm thấy Q1 và Q3 trong Python?Chạy NP.Percentile (mẫu, [25, 50, 75]) trả về các giá trị thực từ danh sách: ra [1]: mảng ([12., 14., 22.]) Tuy nhiên, các bộ tứ là Q1 = 10.0,Median = 14, q3 = 24.5 (bạn cũng có thể sử dụng liên kết này để tìm các bộ tứ và trung bình trực tuyến).np. percentile(samples, [25, 50, 75]) returns the actual values from the list: Out[1]: array([12., 14., 22.]) However, the quartiles are Q1=10.0, Median=14, Q3=24.5 (you can also use this link to find the quartiles and median online).
Cách dễ nhất để tìm IQR là gì?Chúng ta có thể tìm thấy phạm vi liên vùng hoặc IQR trong bốn bước đơn giản:.. Đặt hàng dữ liệu từ ít nhất đến lớn nhất .. Tìm trung vị .. Tính trung bình của cả nửa dưới và nửa trên của dữ liệu .. IQR là sự khác biệt giữa trung vị trên và dưới .. |