在给定均值、std.dev 的 Python 中查找四分位数

问题描述 投票:0回答:1

给定正态分布的均值和标准差,如何在 Python 中确定给定点的四分位数?

例如:

  • mu = 0.7
  • 西格玛 = 0.1

用 Python 计算 0.75 的值是哪个四分位数?

我追求的是四分位数本身,而不是四分位数界限 - 即函数应该采用 m、s 和 val,并返回 0 到 3 范围内的四分位数。

python statistics
1个回答
0
投票

您可以定义自己的函数来返回四分位数顺序,即 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
© www.soinside.com 2019 - 2024. All rights reserved.