So berechnen sie z-scores in python
In der Statistik sagt uns ein Z-Score , wie viele Standardabweichungen ein Wert vom Mittelwert hat. Wir verwenden die folgende Formel, um einen Z-Score zu berechnen:
z = (X – μ) / σ
Gold:
- X ist ein einzelner Rohdatenwert
- μ ist der Bevölkerungsmittelwert
- σ ist die Populationsstandardabweichung
In diesem Tutorial wird erläutert, wie Sie Z-Scores für Rohdatenwerte in Python berechnen.
So berechnen Sie Z-Scores in Python
Wir können Z-Scores in Python mit scipy.stats.zscore berechnen, das die folgende Syntax verwendet:
scipy.stats.zscore(a, axis=0, ddof=0, nan_policy=’propagate‘)
Gold:
- a : ein Array-Objekt, das Daten enthält
- Achse : die Achse, entlang der Z-Scores berechnet werden sollen. Der Standardwert ist 0.
- ddof : Korrektur der Freiheitsgrade bei der Berechnung der Standardabweichung. Der Standardwert ist 0.
- nan_policy : Vorgehensweise, wenn die Eingabe nan enthält. Der Standardwert ist „Propagate“, was „Nan“ zurückgibt. „raise“ löst einen Fehler aus und „omit“ führt Berechnungen durch, bei denen nan-Werte ignoriert werden.
Die folgenden Beispiele veranschaulichen, wie diese Funktion zum Berechnen von Z-Scores für eindimensionale Numpy-Arrays, mehrdimensionale Numpy-Arrays und Pandas DataFrames verwendet wird.
Numpy eindimensionale Arrays
Schritt 1: Importieren Sie die Module.
import pandas as pd import numpy as np import scipy.stats as stats
Schritt 2: Erstellen Sie eine Wertetabelle.
data = np.array([6, 7, 7, 12, 13, 13, 15, 16, 19, 22])
Schritt 3: Berechnen Sie die Z-Scores für jeden Wert in der Tabelle.
stats.zscore(data)
[-1.394, -1.195, -1.195, -0.199, 0, 0, 0.398, 0.598, 1.195, 1.793]
Jeder Z-Score sagt uns, wie viele Standardabweichungen ein einzelner Wert vom Mittelwert hat. Zum Beispiel:
- Der erste Wert von „6“ in der Tabelle liegt 1,394 Standardabweichungen unter dem Mittelwert.
- Der fünfte Wert von „13“ in der Tabelle beträgt 0 Standardabweichung vom Mittelwert, d. h. er ist gleich dem Mittelwert.
- Der letzte Wert von „22“ in der Tabelle liegt 1,793 Standardabweichungen über dem Mittelwert.
Numpy mehrdimensionale Arrays
Wenn wir ein mehrdimensionales Array haben, können wir den Achsenparameter verwenden, um anzugeben, dass wir jeden Z-Score relativ zu seinem eigenen Array berechnen möchten. Angenommen, wir haben das folgende mehrdimensionale Array:
data = np.array([[5, 6, 7, 7, 8], [8, 8, 8, 9, 9], [2, 2, 4, 4, 5]])
Wir können die folgende Syntax verwenden, um Z-Scores für jede Tabelle zu berechnen:
stats.zscore(data, axis=1) [[-1.569 -0.588 0.392 0.392 1.373] [-0.816 -0.816 -0.816 1.225 1.225] [-1.167 -1.167 0.5 0.5 1.333]]
Die Z-Scores für jeden einzelnen Wert werden relativ zu der Tabelle angezeigt, in der sie gefunden werden. Zum Beispiel:
- Der erste Wert von „5“ in der ersten Tabelle liegt 1,159 Standardabweichungen unter dem Mittelwert der Tabelle.
- Der erste Wert von „8“ in der zweiten Tabelle liegt 0,816 Standardabweichungen unter dem Mittelwert der Tabelle.
- Der erste Wert von „2“ in der dritten Tabelle liegt 1,167 Standardabweichungen unter dem Mittelwert der Tabelle.
Pandas-Datenrahmen
Nehmen wir an, wir haben stattdessen einen Pandas DataFrame:
data = pd.DataFrame(np.random.randint(0, 10, size=(5, 3)), columns=['A', 'B', 'C']) data ABC 0 8 0 9 1 4 0 7 2 9 6 8 3 1 8 1 4 8 0 8
Mit der Apply- Funktion können wir den Z-Score einzelner Werte pro Spalte berechnen:
data.apply(stats.zscore) ABC 0 0.659380 -0.802955 0.836080 1 -0.659380 -0.802955 0.139347 2 0.989071 0.917663 0.487713 3 -1.648451 1.491202 -1.950852 4 0.659380 -0.802955 0.487713
Die Z-Scores für jeden einzelnen Wert werden relativ zu der Spalte angezeigt, in der sie sich befinden. Zum Beispiel:
- Der erste Wert von „8“ in der ersten Spalte liegt 0,659 Standardabweichungen über dem Mittelwert seiner Spalte.
- Der erste „0“-Wert in der zweiten Spalte ist 0,803 Standardabweichungen niedriger als der Mittelwert in seiner Spalte.
- Der erste Wert von „9“ in der dritten Spalte liegt 0,836 Standardabweichungen über dem Mittelwert seiner Spalte.
Zusätzliche Ressourcen:
So berechnen Sie Z-Scores in Excel
So berechnen Sie Z-Scores in SPSS
So berechnen Sie Z-Scores auf einem TI-84-Rechner