Come calcolare l'intervallo interquartile in python
L’ intervallo interquartile , spesso chiamato “IQR”, è un modo per misurare la distribuzione del 50% medio di un set di dati. Viene calcolato come la differenza tra il primo quartile* (il 25° percentile) e il terzo quartile (il 75° percentile) di un set di dati.
Fortunatamente, è facile calcolare l’intervallo interquartile di un set di dati in Python utilizzando la funzione numpy.percentile() .
Questo tutorial mostra diversi esempi di utilizzo pratico di questa funzione.
Esempio 1: intervallo interquartile di una tabella
Il codice seguente mostra come calcolare l’intervallo interquartile dei valori in un’unica tabella:
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
L’intervallo interquartile di questo set di dati risulta essere 12,25 . Questa è la distribuzione del 50% medio dei valori in questo set di dati.
Esempio 2: intervallo interquartile di una colonna di frame di dati
Il codice seguente mostra come calcolare l’intervallo interquartile per una singola colonna in un frame di dati:
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
L’intervallo interquartile dei valori nella colonna dei punti risulta essere 5,75 .
Esempio 3: intervallo interquartile di più colonne di frame di dati
Il codice seguente mostra come calcolare contemporaneamente l’intervallo interquartile di più colonne in un frame di dati:
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
Nota: utilizziamo la funzione pandas.DataFrame.apply() per calcolare l’IQR per più colonne nel frame di dati sopra.
Risorse addizionali
L’intervallo interquartile (IQR) è influenzato da valori anomali?
Come calcolare l’intervallo interquartile (IQR) in Excel
Calcolatore dell’intervallo interquartile