Cara menghitung persentil dengan python: dengan contoh
Persentil ke-n suatu kumpulan data adalah nilai yang memotong n persen teratas dari nilai data ketika semua nilai diurutkan dari yang terkecil hingga yang terbesar.
Misalnya, persentil ke-90 suatu kumpulan data adalah nilai yang memisahkan 90% nilai data terbawah dari 10% nilai data teratas.
Kita dapat dengan cepat menghitung persentil dengan Python menggunakan fungsi numpy.percentile() , yang menggunakan sintaks berikut:
numpy.persentil(a, q)
Emas:
- a: Tabel nilai
- q: Persentil atau urutan persentil yang akan dihitung, yang harus antara 0 dan 100 inklusif.
Tutorial ini menjelaskan cara menggunakan fungsi ini untuk menghitung persentil dengan Python.
Cara mencari persentil suatu tabel
Kode berikut menunjukkan cara menemukan persentil berbeda untuk array tertentu dengan 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])
Cara menemukan persentil kolom DataFrame
Kode berikut menunjukkan cara menemukan nilai persentil ke-95 untuk satu kolom DataFrame pandas:
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
Cara menemukan persentil dari beberapa kolom DataFrame
Kode berikut menunjukkan cara menemukan nilai persentil ke-95 untuk beberapa kolom di pandas DataFrame:
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
Perhatikan bahwa kita dapat menggunakan fungsi pandas quantile() pada contoh di atas untuk menghitung persentil.