是否有任何python/numpy函式可以計算給定概率分布的第n個百分位數?
# Like this
distr = [.2, .6, .2]
do_some_magic(distra, 50) # 1
distr = [.1, .1, .6, .2]
do_some_magic(distribut, 50) # 2
uj5u.com熱心網友回復:
是的,你可以使用scipy的percentileofscore。
from scipy.stats import percentileofscore
distr = [.2, .6, .2]
print(percentileofscore(distr,50)/100)
1.0。
uj5u.com熱心網友回復:
嘗試以下選項
NumPy方法:
import numpy as np
distr = np.array([.2, .6, .2] )
percentile = np.percentile(distr, 50)
print(percentile)
Pythonic方法:
import math
def percentile(data, perc: int)。)
size = len(data)
return sorted(data)[int(math.ceil((size * perc) / 100) - 1]
distr = [.2, .6, .2]
print(percentile(distribution, 50)
輸出。0.2
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/331097.html
標籤:
