我想问一下是否有任何流行的软件包,例如numpy,scipy等,都具有内置函数来计算Z分数(如果我已经知道至关重要的价值,均值和st dev)。

我通常这样做:

def Zscore(xcritical, mean, stdev):
    return (xcritical - mean)/stdev

#example:
xcritical = 73.06
mean = 72
stdev = 0.5

zscore = Zscore(xcritical, mean, stdev)

后来我使用scipy.stats.norm.cdf来计算x低于xcritical的概率。
import scipy.stats as st
print(st.norm.cdf(zscore))

我想知道是否可以以某种方式简化它。我知道有scipy.stats.zscore函数,但它需要一个样本数组而不是样本统计信息。

最佳答案

Python 3.9开始,标准库在 zscore 模块中为 NormalDist 对象提供了 statistics 函数:

NormalDist(mu=72, sigma=.5).zscore(73.06)
# 2.1200000000000045

08-24 21:08