Calcola il percentile in Python
-
Calcola il percentile in Python usando il pacchetto
scipy
-
Calcola il percentile in Python usando il pacchetto
NumPy
-
Calcola il percentile in Python usando il pacchetto
math
-
Calcola il percentile in Python usando il pacchetto
statistics
- Calcola il percentile in Python usando il metodo di interpolazione lineare di NumPy
- Calcola il percentile in Python usando il metodo di interpolazione inferiore di NumPy
- Calcola il percentile in Python usando il metodo di interpolazione superiore di NumPy
- Calcola il percentile in Python usando il metodo di interpolazione del punto medio di NumPy
I percentili indicano la percentuale di punteggi che scendono al di sotto di un determinato valore. Un individuo con un QI di 120, ad esempio, è al 91° percentile, il che significa che il suo QI è superiore al 91% delle altre persone.
Questo articolo discuterà alcuni metodi per calcolare il percentile in Python.
Calcola il percentile in Python usando il pacchetto scipy
Questo pacchetto calcolerà il punteggio della serie di input a un dato percentile. La sintassi della funzione scoreatpercentile()
è riportata di seguito:
scipy.stats.scoreatpercentile(
a, per, limit=(), interpolation_method="fraction", axis=None
)
Nella funzione scoreatpercentile()
, il parametro a
rappresenta un array 1-D, e per
specifica il percentile compreso tra 0 e 100. Gli altri due parametri sono opzionali. La libreria NumPy
viene utilizzata per ottenere i numeri su cui abbiamo calcolato il percentile.
Di seguito viene fornito il codice di esempio completo.
from scipy import stats
import numpy as np
array = np.arange(100)
percentile = stats.scoreatpercentile(array, 50)
print("The percentile is:", percentile)
Produzione:
The percentile is: 49.5
Calcola il percentile in Python usando il pacchetto NumPy
Questo pacchetto ha una funzione percentile()
che calcolerà il percentile di un dato array. Di seguito viene fornita la sintassi della funzione percentile()
.
numpy.percentile(
a,
q,
axis=None,
out=None,
overwrite_input=False,
interpolation="linear",
keepdims=False,
)
Il parametro q
rappresenta il numero di calcolo del percentile. a
rappresenta un array mentre gli altri parametri sono opzionali.
Di seguito viene fornito il codice di esempio completo.
import numpy as np
arry = np.array([4, 6, 8, 10, 12])
percentile = np.percentile(arry, 50)
print("The percentile is:", percentile)
Produzione:
The percentile is: 8.0
Calcola il percentile in Python usando il pacchetto math
Il pacchetto math
con la sua funzione di base - ceil
può essere utilizzato per calcolare diversi percentili.
Di seguito viene fornito il codice di esempio completo.
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)
Il math.ceil(x)
arrotonda il valore e restituisce il più piccolo intero maggiore o uguale a x
, mentre la funzione sorted
ordina l’array.
Produzione:
The 25th percentile is: 3
The 50th percentile is: 5
The 75th percentile is: 8
Calcola il percentile in Python usando il pacchetto statistics
La funzione quantiles()
nel pacchetto statistics
è usata per scomporre i dati in uguale probabilità e restituire una lista di distribuzione di n-1
. La sintassi di questa funzione è fornita di seguito.
statistics.quantiles(data, *, n=4, method='exclusive')
Di seguito viene fornito il codice di esempio completo.
from statistics import quantiles
data = [1, 2, 3, 4, 5]
percentle = quantiles(data, n=4)
print("The Percentile is:", percentle)
Produzione:
The Percentile is: [1.5, 3.0, 4.5]
Calcola il percentile in Python usando il metodo di interpolazione lineare di NumPy
Possiamo calcolare diversi percentili utilizzando la modalità di interpolazione. Le modalità di interpolazione sono linear
, lower
, higher
, midpoint
e nearest
. Queste interpolazioni vengono utilizzate quando i percentili si trovano tra due punti dati, i
e j
. Quando il valore percentile è i
, è la modalità di interpolazione inferiore, j
rappresenta la modalità di interpolazione più alta e i + (j - i) * fraction
rappresenta la modalità lineare dove fraction
indica l’indice circondato da i
E j
.
Di seguito viene fornito il codice di esempio completo per la modalità di interpolazione lineare.
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,
)
Usiamo la funzione numpy.percentile()
con il parametro aggiuntivo interpolation
. Puoi vedere che otteniamo valori float per questa interpolazione.
Produzione:
percentiles using interpolation = linear
percentile_10 = 1.9 , median = 5.5 and percentile_75 = 7.75
Calcola il percentile in Python usando il metodo di interpolazione inferiore di NumPy
Di seguito viene fornito il codice di esempio completo per la modalità di interpolazione inferiore.
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,
)
Produzione:
percentiles using interpolation = lower
percentile_10 = 1 , median = 5 and percentile_75 = 7
Puoi vedere che il percentile finale viene spostato al valore più basso.
Calcola il percentile in Python usando il metodo di interpolazione superiore di NumPy
Questo metodo assegnerà i percentili di un array data al valore di arrotondamento più alto.
Di seguito viene fornito il codice di esempio completo per la modalità di interpolazione superiore.
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,
)
Produzione:
percentiles using interpolation = higher
percentile_10 = 2 , median = 6 and percentile_75 = 8
Calcola il percentile in Python usando il metodo di interpolazione del punto medio di NumPy
Questo metodo fornirà i punti medi dei valori percentili.
Di seguito viene fornito il codice di esempio completo per la modalità di interpolazione del punto medio.
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,
)
Produzione:
percentiles using interpolation = midpoint
percentile_10 = 1.5 , median = 5.5 and percentile_75 = 7.5
Articolo correlato - Python Math
- Calcola fattoriale in Python
- Calcola derivata in Python
- Calcola la funzione di distribuzione cumulativa in Python
- Calcola la media aritmetica in Python
- Calcola la tangente inversa in Python
- Numeri immaginari in Python