Jak obliczyć percentyle w pythonie: z przykładami
N-ty percentyl zbioru danych to wartość, która odcina górne n procent wartości danych, gdy wszystkie wartości są posortowane od najmniejszej do największej.
Na przykład 90. percentyl zbioru danych to wartość oddzielająca dolne 90% wartości danych od górnych 10% wartości danych.
Percentyle możemy szybko obliczyć w Pythonie za pomocą funkcji numpy.percentile() , która wykorzystuje następującą składnię:
numpy.percentyl(a, q)
Złoto:
- a: Tabela wartości
- q: Percentyl lub sekwencja percentyli do obliczenia, która musi mieścić się w przedziale od 0 do 100 włącznie.
W tym samouczku wyjaśniono, jak używać tej funkcji do obliczania percentyli w języku Python.
Jak znaleźć percentyle tabeli
Poniższy kod demonstruje, jak znaleźć różne percentyle dla danej tablicy w Pythonie:
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])
Jak znaleźć percentyle kolumny DataFrame
Poniższy kod pokazuje, jak znaleźć wartość 95. percentyla dla pojedynczej kolumny DataFrame pandy:
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
Jak znaleźć percentyle wielu kolumn DataFrame
Poniższy kod pokazuje, jak znaleźć wartość 95. percentyla dla wielu kolumn w ramce DataFrame pandy:
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
Zauważ, że w powyższych przykładach mogliśmy użyć funkcji pandas quantile() do obliczenia percentyli.
Powiązane: Jak obliczyć percentyle w R (z przykładami)