Percentielen berekenen in python: met voorbeelden
Het n- de percentiel van een dataset is de waarde die de bovenste n procent van de datawaarden afsnijdt wanneer alle waarden zijn gesorteerd van klein naar groot.
Het 90e percentiel van een dataset is bijvoorbeeld de waarde die de onderste 90% van de datawaarden scheidt van de bovenste 10% van de datawaarden.
We kunnen in Python snel percentielen berekenen met de functie numpy.percentile() , die de volgende syntaxis gebruikt:
numpy.percentiel(a, q)
Goud:
- a: Tabel met waarden
- V: Percentiel of reeks percentielen die moeten worden berekend, dit moet tussen 0 en 100 liggen.
In deze tutorial wordt uitgelegd hoe u deze functie kunt gebruiken om percentielen in Python te berekenen.
Hoe de percentielen van een tabel te vinden
De volgende code laat zien hoe je verschillende percentielen kunt vinden voor een bepaalde 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])
Hoe u percentielen van een DataFrame-kolom kunt vinden
De volgende code laat zien hoe u de 95e percentielwaarde kunt vinden voor een DataFrame-kolom met één 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
Hoe u percentielen van meerdere DataFrame-kolommen kunt vinden
De volgende code laat zien hoe u de 95e percentielwaarde voor meerdere kolommen in een Panda DataFrame kunt vinden:
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
Merk op dat we in de bovenstaande voorbeelden de pandas quantile() -functie konden gebruiken om percentielen te berekenen.
Gerelateerd: Percentielen in R berekenen (met voorbeelden)