zscore#
- scipy.stats.zscore(a, axis=0, ddof=0, nan_policy='propagate')[Quelle]#
Berechnet den z-Score.
Berechnet den Z-Score jedes Wertes in der Stichprobe relativ zum Stichprobenmittelwert und zur Stichprobenstandardabweichung.
- Parameter:
- aarray_like
Ein Array-ähnliches Objekt, das die Stichprobendaten enthält.
- axisint oder None, optional
Achse, entlang der operiert werden soll. Standard ist 0. Wenn None, wird über das gesamte Array a berechnet.
- ddofint, optional
Freiheitsgradkorrektur bei der Berechnung der Standardabweichung. Standard ist 0.
- nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional
Definiert, wie mit Eingaben umzugehen ist, die NaN enthalten. 'propagate' gibt NaN zurück, 'raise' löst einen Fehler aus, 'omit' führt die Berechnungen durch und ignoriert NaN-Werte. Standardmäßig ist 'propagate' eingestellt. Beachten Sie, dass bei der Einstellung 'omit' NaN in der Eingabe auch an die Ausgabe weitergegeben werden, sie aber die Z-Scores, die für die Nicht-NaN-Werte berechnet wurden, nicht beeinflussen.
- Rückgabe:
- zscorearray_like
Die Z-Scores, standardisiert nach Mittelwert und Standardabweichung des Eingabearrays a.
Siehe auch
numpy.meanArithmetisches Mittel
numpy.stdArithmetische Standardabweichung
scipy.stats.gzscoreGeometrische Standard-Score
Hinweise
Diese Funktion behält NDArray-Unterklassen bei und funktioniert auch mit Matrizen und Masked Arrays (sie verwendet asanyarray anstelle von asarray für Parameter).
zscorehat experimentelle Unterstützung für Backends, die mit dem Python Array API Standard kompatibel sind, zusätzlich zu NumPy. Bitte erwägen Sie, diese Funktionen zu testen, indem Sie die UmgebungsvariableSCIPY_ARRAY_API=1setzen und CuPy-, PyTorch-, JAX- oder Dask-Arrays als Array-Argumente bereitstellen. Die folgenden Kombinationen von Backend und Gerät (oder anderer Fähigkeit) werden unterstützt.Bibliothek
CPU
GPU
NumPy
✅
n/a
CuPy
n/a
✅
PyTorch
✅
✅
JAX
✅
✅
Dask
✅
n/a
Siehe Unterstützung für den Array API Standard für weitere Informationen.
Referenzen
[1]„Standardscore“, Wikipedia, https://en.wikipedia.org/wiki/Standard_score.
[2]Huck, S. W., Cross, T. L., Clark, S. B, „Overcoming misconceptions about Z-scores“, Teaching Statistics, Bd. 8, S. 38-40, 1986
Beispiele
>>> import numpy as np >>> a = np.array([ 0.7972, 0.0767, 0.4383, 0.7866, 0.8091, ... 0.1954, 0.6307, 0.6599, 0.1065, 0.0508]) >>> from scipy import stats >>> stats.zscore(a) array([ 1.1273, -1.247 , -0.0552, 1.0923, 1.1664, -0.8559, 0.5786, 0.6748, -1.1488, -1.3324])
Berechnung entlang einer angegebenen Achse unter Verwendung von n-1 Freiheitsgraden (
ddof=1) zur Berechnung der Standardabweichung>>> b = np.array([[ 0.3148, 0.0478, 0.6243, 0.4608], ... [ 0.7149, 0.0775, 0.6072, 0.9656], ... [ 0.6341, 0.1403, 0.9759, 0.4064], ... [ 0.5918, 0.6948, 0.904 , 0.3721], ... [ 0.0921, 0.2481, 0.1188, 0.1366]]) >>> stats.zscore(b, axis=1, ddof=1) array([[-0.19264823, -1.28415119, 1.07259584, 0.40420358], [ 0.33048416, -1.37380874, 0.04251374, 1.00081084], [ 0.26796377, -1.12598418, 1.23283094, -0.37481053], [-0.22095197, 0.24468594, 1.19042819, -1.21416216], [-0.82780366, 1.4457416 , -0.43867764, -0.1792603 ]])
Ein Beispiel mit
nan_policy='omit'>>> x = np.array([[25.11, 30.10, np.nan, 32.02, 43.15], ... [14.95, 16.06, 121.25, 94.35, 29.81]]) >>> stats.zscore(x, axis=1, nan_policy='omit') array([[-1.13490897, -0.37830299, nan, -0.08718406, 1.60039602], [-0.91611681, -0.89090508, 1.4983032 , 0.88731639, -0.5785977 ]])