Berechnen des Perzentils in Python
-
Perzentilberechnung in Python mit dem Paket
scipy
-
Perzentilberechnung in Python mit dem
NumPy
-Paket -
Perzentilberechnung in Python mit dem
math
-Paket -
Perzentilberechnung in Python mit dem Paket
statistics
- Perzentilberechnung in Python mit der linearen Interpolationsmethode von NumPy
- Perzentilberechnung in Python mit der unteren Interpolationsmethode von NumPy
- Perzentilberechnung in Python mit der höheren Interpolationsmethode von NumPy
- Perzentilberechnung in Python mit der NumPy-Mittelpunkt-Interpolationsmethode
Perzentile geben den Prozentsatz der Werte an, die unter einen bestimmten Wert fallen. Eine Person mit einem IQ von 120 liegt zum Beispiel auf dem 91. Perzentil, was bedeutet, dass ihr IQ höher ist als der von 91 % der anderen Personen.
In diesem Artikel werden einige Methoden zur Berechnung von Perzentilen in Python besprochen.
Perzentilberechnung in Python mit dem Paket scipy
Dieses Paket berechnet den Wert der Eingabereihe zu einem bestimmten Perzentil. Die Syntax der Funktion scoreatpercentile()
ist unten angegeben:
scipy.stats.scoreatpercentile(
a, per, limit=(), interpolation_method="fraction", axis=None
)
In der Funktion scoreatpercentile()
stellt der Parameter a
ein 1-D-Array dar, und per
gibt das Perzentil im Bereich von 0 bis 100 an. Die beiden anderen Parameter sind optional. Die NumPy
-Bibliothek wird verwendet, um die Zahlen zu erhalten, auf denen wir das Perzentil berechnet haben.
Der vollständige Beispielcode ist unten angegeben.
from scipy import stats
import numpy as np
array = np.arange(100)
percentile = stats.scoreatpercentile(array, 50)
print("The percentile is:", percentile)
Ausgabe:
The percentile is: 49.5
Perzentilberechnung in Python mit dem NumPy
-Paket
Dieses Paket hat eine Funktion percentile()
, die das Perzentil eines gegebenen Arrays berechnet. Die Syntax der Funktion percentile()
ist unten angegeben.
numpy.percentile(
a,
q,
axis=None,
out=None,
overwrite_input=False,
interpolation="linear",
keepdims=False,
)
Der Parameter q
repräsentiert die Nummer der Perzentilberechnung. a
repräsentiert ein Array, während die anderen Parameter optional sind.
Der vollständige Beispielcode ist unten angegeben.
import numpy as np
arry = np.array([4, 6, 8, 10, 12])
percentile = np.percentile(arry, 50)
print("The percentile is:", percentile)
Ausgabe:
The percentile is: 8.0
Perzentilberechnung in Python mit dem math
-Paket
Das math
-Paket mit seiner Grundfunktion - ceil
- kann zur Berechnung verschiedener Perzentile verwendet werden.
Der vollständige Beispielcode ist unten angegeben.
import math
arry = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def calculate_percentile(arry, percentile):
size = len(arry)
return sorted(arry)[int(math.ceil((size * percentile) / 100)) - 1]
percentile_25 = calculate_percentile(arry, 25)
percentile_50 = calculate_percentile(arry, 50)
percentile_75 = calculate_percentile(arry, 75)
print("The 25th percentile is:", percentile_25)
print("The 50th percentile is:", percentile_50)
print("The 75th percentile is:", percentile_75)
Die Funktion math.ceil(x)
rundet den Wert ab und liefert die kleinste ganze Zahl, die größer oder gleich x
ist, während die Funktion sorted
das Array sortiert.
Ausgabe:
The 25th percentile is: 3
The 50th percentile is: 5
The 75th percentile is: 8
Perzentilberechnung in Python mit dem Paket statistics
Die Funktion quantiles()
im Paket statistics
wird verwendet, um die Daten in gleiche Wahrscheinlichkeiten zu zerlegen und eine Verteilungsliste von n-1
zurückzugeben. Die Syntax dieser Funktion ist unten angegeben.
statistics.quantiles(data, *, n=4, method='exclusive')
Der vollständige Beispielcode ist unten angegeben.
from statistics import quantiles
data = [1, 2, 3, 4, 5]
percentle = quantiles(data, n=4)
print("The Percentile is:", percentle)
Ausgabe:
The Percentile is: [1.5, 3.0, 4.5]
Perzentilberechnung in Python mit der linearen Interpolationsmethode von NumPy
Wir können verschiedene Perzentile mit Hilfe des Interpolationsmodus berechnen. Die Interpolationsmodi sind linear
, lower
, higher
, midpoint
, und nearest
. Diese Interpolationen werden verwendet, wenn die Perzentile zwischen zwei Datenpunkten, i
und j
, liegen. Wenn der Perzentilwert i
ist, handelt es sich um den unteren Interpolationsmodus, j
repräsentiert den höheren Interpolationsmodus und i + (j - i) * fraction
repräsentiert den linearen Modus, wobei fraction
den von i
und j
umgebenen Index angibt.
Der vollständige Beispielcode für den linearen Interpolationsmodus ist unten angegeben.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "linear")
percentile_10 = np.percentile(arry, 10, interpolation="linear")
percentile_50 = np.percentile(arry, 50, interpolation="linear")
percentile_75 = np.percentile(arry, 75, interpolation="linear")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Wir verwenden die Funktion numpy.percentile()
mit dem zusätzlichen Parameter interpolation
. Sie können sehen, dass wir Float-Werte für diese Interpolation erhalten.
Ausgabe:
percentiles using interpolation = linear
percentile_10 = 1.9 , median = 5.5 and percentile_75 = 7.75
Perzentilberechnung in Python mit der unteren Interpolationsmethode von NumPy
Der vollständige Beispielcode für die untere Interpolationsmethode ist unten angegeben.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "lower")
percentile_10 = np.percentile(arry, 10, interpolation="lower")
percentile_50 = np.percentile(arry, 50, interpolation="lower")
percentile_75 = np.percentile(arry, 75, interpolation="lower")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Ausgabe:
percentiles using interpolation = lower
percentile_10 = 1 , median = 5 and percentile_75 = 7
Sie sehen, dass das endgültige Perzentil auf den niedrigsten Wert abgerundet wird.
Perzentilberechnung in Python mit der höheren Interpolationsmethode von NumPy
Diese Methode gibt Perzentile des gegebenen Arrays auf den höchsten abgerundeten Wert aus.
Der vollständige Beispielcode für die höhere Interpolationsmethode ist unten angegeben.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "higher")
percentile_10 = np.percentile(arry, 10, interpolation="higher")
percentile_50 = np.percentile(arry, 50, interpolation="higher")
percentile_75 = np.percentile(arry, 75, interpolation="higher")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Ausgabe:
percentiles using interpolation = higher
percentile_10 = 2 , median = 6 and percentile_75 = 8
Perzentilberechnung in Python mit der NumPy-Mittelpunkt-Interpolationsmethode
Diese Methode liefert die Mittelwerte der Perzentilwerte.
Der vollständige Beispielcode für den Midpoint-Interpolationsmodus ist unten angegeben.
import numpy as np
arry = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print("percentiles using interpolation = ", "midpoint")
percentile_10 = np.percentile(arry, 10, interpolation="midpoint")
percentile_50 = np.percentile(arry, 50, interpolation="midpoint")
percentile_75 = np.percentile(arry, 75, interpolation="midpoint")
print(
"percentile_10 = ",
percentile_10,
", median = ",
percentile_50,
" and percentile_75 = ",
percentile_75,
)
Ausgabe:
percentiles using interpolation = midpoint
percentile_10 = 1.5 , median = 5.5 and percentile_75 = 7.5
Verwandter Artikel - Python Math
- Faktorielle Berechnung in Python
- Berechnen Sie die modulare multiplikative Inverse in Python
- Berechnung der Inverse des Kosinus in Python
- Ausreißer in Python erkennen und entfernen
- Definieren Sie einen unendlichen Wert in Python
- Implementieren Sie die polynomiale Regression in Python