给定正态分布的均值和标准差,如何在 Python 中确定给定点的四分位数?
例如:
用 Python 计算 0.75 的值是哪个四分位数?
我追求的是四分位数本身,而不是四分位数界限 - 即函数应该采用 m、s 和 val,并返回 0 到 3 范围内的四分位数。
您可以定义自己的函数来返回四分位数顺序,即 0、1、2 或 3
def normal_quartile(mu, sigma, value):
quartiles = []
quartiles.append( mu- 0.675*sigma )
quartiles.append( mu )
quartiles.append( mu+ 0.675*sigma )
for i, q in enumerate(quartiles):
if value < q:
return i
return 3
print( normal_quartile(0.7, 0.1, 0.55) )
print( normal_quartile(0.7, 0.1, 0.65) )
print( normal_quartile(0.7, 0.1, 0.75) )
print( normal_quartile(0.7, 0.1, 0.95) )
结果是:
0
1
2
3