scipy.stats.

percentileofscore#

scipy.stats.percentileofscore(a, score, kind='rank', nan_policy='propagate')[Quelle]#

Berechnet den Perzentilrang eines Scores relativ zu einer Liste von Scores.

Ein percentileofscore von z. B. 80 % bedeutet, dass 80 % der Scores in a unter dem gegebenen Score liegen. Bei Lücken oder Gleichständen hängt die genaue Definition vom optionalen Schlüsselwort kind ab.

Parameter:
aarray_like

Ein 1D-Array, mit dem score verglichen wird.

scorearray_like

Scores, für die Perzentile berechnet werden sollen.

kind{‘rank’, ‘weak’, ‘strict’, ‘mean’}, optional

Gibt die Interpretation des resultierenden Scores an. Folgende Optionen sind verfügbar (Standard ist ‘rank’)

  • ‘rank’: Durchschnittlicher prozentualer Rang des Scores. Bei mehreren Übereinstimmungen werden die prozentualen Ränge aller übereinstimmenden Scores gemittelt.

  • ‘weak’: Diese Art entspricht der Definition einer kumulativen Verteilungsfunktion. Ein percentileofscore von 80 % bedeutet, dass 80 % der Werte kleiner oder gleich dem angegebenen Score sind.

  • ‘strict’: Ähnlich wie „weak“, außer dass nur Werte gezählt werden, die strikt kleiner als der angegebene Score sind.

  • ‘mean’: Der Durchschnitt der „weak“- und „strict“-Scores, oft im Testen verwendet. Siehe https://en.wikipedia.org/wiki/Percentile_rank

nan_policy{‘propagate’, ‘raise’, ‘omit’}, optional

Gibt an, wie nan-Werte in a behandelt werden sollen. Folgende Optionen sind verfügbar (Standard ist ‘propagate’)

  • ‘propagate’: gibt nan zurück (für jeden Wert in score).

  • ‘raise’: löst einen Fehler aus

  • ‘omit’: führt die Berechnungen unter Ignorierung von NaN-Werten durch

Rückgabe:
pcosfloat

Perzentilposition des Scores (0-100) relativ zu a.

Beispiele

Drei Viertel der gegebenen Werte liegen unter einem bestimmten Score

>>> import numpy as np
>>> from scipy import stats
>>> stats.percentileofscore([1, 2, 3, 4], 3)
75.0

Bei mehreren Übereinstimmungen ist zu beachten, wie die Scores der beiden Übereinstimmungen, 0,6 bzw. 0,8, gemittelt werden

>>> stats.percentileofscore([1, 2, 3, 3, 4], 3)
70.0

Nur 2/5 der Werte sind strikt kleiner als 3

>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='strict')
40.0

Aber 4/5 der Werte sind kleiner oder gleich 3

>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='weak')
80.0

Der Durchschnitt zwischen dem schwachen und dem strengen Score ist

>>> stats.percentileofscore([1, 2, 3, 3, 4], 3, kind='mean')
60.0

Score-Arrays (beliebiger Dimensionalität) werden unterstützt

>>> stats.percentileofscore([1, 2, 3, 3, 4], [2, 3])
array([40., 70.])

Die Eingaben können unendlich sein

>>> stats.percentileofscore([-np.inf, 0, 1, np.inf], [1, 2, np.inf])
array([75., 75., 100.])

Wenn a leer ist, sind die resultierenden Perzentile alle nan

>>> stats.percentileofscore([], [1, 2])
array([nan, nan])