Python에서 백분위수를 계산하는 방법: 예 포함
데이터 세트의 n번째 백분위수 는 모든 값을 가장 작은 값에서 가장 큰 값으로 정렬할 때 데이터 값의 상위 n %를 잘라내는 값입니다.
예를 들어, 데이터 세트의 90번째 백분위수는 데이터 값의 하위 90%와 데이터 값의 상위 10%를 구분하는 값입니다.
다음 구문을 사용하는 numpy.percentile() 함수를 사용하면 Python에서 백분위수를 빠르게 계산할 수 있습니다.
numpy.percentile(a, q)
금:
- a: 값 테이블
- q: 계산할 백분위수 또는 백분위수 시퀀스로, 0에서 100 사이여야 합니다.
이 튜토리얼에서는 이 함수를 사용하여 Python에서 백분위수를 계산하는 방법을 설명합니다.
테이블의 백분위수를 찾는 방법
다음 코드는 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])
DataFrame 열의 백분위수를 찾는 방법
다음 코드는 단일 Pandas DataFrame 열의 95번째 백분위수 값을 찾는 방법을 보여줍니다.
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
여러 DataFrame 열의 백분위수를 찾는 방법
다음 코드는 Pandas DataFrame의 여러 열에 대한 95번째 백분위수 값을 찾는 방법을 보여줍니다.
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
위의 예에서는 pandas quotile() 함수를 사용하여 백분위수를 계산할 수 있었습니다.
관련 항목: R에서 백분위수를 계산하는 방법(예제 포함)