Der Interquartilsabstand, oft bezeichnet „IQR“ (engl. interquartile range), ist ein Weg, um die Ausbreitung des mittleren 50% eines Datensatz zu messen. Sie wird als Differenz zwischen dem ersten Quartil * (dem 25. Perzentil) und dem dritten Quartil (dem 75. Perzentil) eines Datensatzes berechnet.

Glücklicherweise ist es einfach, den Interquartilsabstand eines Datensatzes in Python mit der Funktion numpy.percentile() zu berechnen.

Dieses Tutorial zeigt einige Beispiele für die praktische Verwendung dieser Funktion.

Beispiel 1: Interquartilsabstand eines Arrays

Der folgende Code zeigt, wie der Interquartil-Wertebereich in einem einzelnen Array berechnet wird:

import numpy as np

#Datenarray definieren
data = np.array([14, 19, 20, 22, 24, 26, 27, 30, 30, 31, 36, 38, 44, 47])

# Interquartilsabstand berechnen 
q3, q1 = np.percentile(data, [75 ,25])
iqr = q3 - q1

# Interquartilsabstand anzeigen 
iqr

12.25

Der Interquartilsabstand dieses Datensatzes beträgt 12,25. Dies ist die Streuung der mittleren 50% der Werte in diesem Datensatz.

Beispiel 2: Interquartilsabstand einer Dataframespalte

Der folgende Code zeigt, wie der Interquartilsabstand einer einzelnen Spalte in einem Dataframe berechnet wird:

importiere numpy als np
Pandas als pd importieren

# Dataframe erstellen
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]})

# Berechnen Sie den Interquartil-Wertebereich in der Spalte 'Punkte'
q75, q25 = np.percentile(df['points'], [75 ,25])
iqr = q75 - q25

# Interquartilsabstand anzeigen 
iqr

5.75

Der Interquartil-Wertebereich in der Punktespalte beträgt 5,75.

Beispiel 3: Interquartilsabstand mehrerer Dataframespalten

Der folgende Code zeigt, wie der Interquartilsabstand mehrerer Spalten in einem Dataframe gleichzeitig berechnet wird:

import numpy as np
import pandas as pd

# Dataframe erstellen
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]})

# Funktion zur Berechnung des Interquartilsabstands definieren
def find_iqr(x):
  return np.subtract(*np.percentile(x, [75, 25]))

# Berechnen Sie den IQR für die Spalten "Bewertung" und "Punkte"
df[['rating', 'points']].apply(find_iqr)

rating    6.75
points    5.75
dtype: float64

# IQR für alle Spalten berechnen
df.apply(find_iqr)

rating      6.75
points      5.75
assists     2.50
rebounds    3.75
dtype: float64

Hinweis: Wir verwenden die Funktion pandas.DataFrame.apply(), um den IQR für mehrere Spalten im obigen Dataframe zu berechnen.

Zusätzliche Ressourcen

Wird der Interquartilsabstand (IQR) von Ausreißern beeinflusst?
So berechnen Sie den Interquartilsabstand (IQR) in Excel
Interquartilsabstandsrechner

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: