Come calcolare i percentili in python: con esempi
L’ ennesimo percentile di un set di dati è il valore che elimina il primo n % dei valori dei dati quando tutti i valori vengono ordinati dal più piccolo al più grande.
Ad esempio, il 90° percentile di un set di dati è il valore che separa il 90% inferiore dei valori dei dati dal 10% superiore dei valori dei dati.
Possiamo calcolare rapidamente i percentili in Python utilizzando la funzione numpy.percentile() , che utilizza la seguente sintassi:
numpy.percentile(a, q)
Oro:
- a: Tabella dei valori
- q: percentile o sequenza di percentili da calcolare, che deve essere compreso tra 0 e 100 inclusi.
Questo tutorial spiega come utilizzare questa funzione per calcolare i percentili in Python.
Come trovare i percentili di una tabella
Il codice seguente mostra come trovare percentili diversi per un dato array in Python:
import numpy as np #make this example reproducible n.p. random . seeds (0) #create array of 100 random integers distributed between 0 and 500 data = np. random . randint (0, 500, 100) #find the 37th percentile of the array n.p. percentile (data, 37) 173.26 #Find the quartiles (25th, 50th, and 75th percentiles) of the array n.p. percentile (data, [25, 50, 75]) array([116.5, 243.5, 371.5])
Come trovare i percentili di una colonna DataFrame
Il codice seguente mostra come trovare il valore del 95° percentile per una singola colonna DataFrame Panda:
import numpy as np
import pandas as pd
#createDataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})
#find 90th percentile of var1 column
n.p. percentile (df. var1 , 95)
34.1
Come trovare i percentili di più colonne DataFrame
Il codice seguente mostra come trovare il valore del 95° percentile per più colonne in un DataFrame panda:
import numpy as np
import pandas as pd
#createDataFrame
df = pd.DataFrame({'var1': [25, 12, 15, 14, 19, 23, 25, 29, 33, 35],
'var2': [5, 7, 7, 9, 12, 9, 9, 4, 14, 15],
'var3': [11, 8, 10, 6, 6, 5, 9, 12, 13, 16]})
#find 95th percentile of each column
df. quantile (.95)
var1 34.10
var2 14.55
var3 14.65
#find 95th percentile of just columns var1 and var2
df[[' var1 ', ' var2 ']]. quantile (.95)
var1 34.10
var2 14.55
Tieni presente che siamo stati in grado di utilizzare la funzione pandas quantile() negli esempi precedenti per calcolare i percentili.