Mat*_*ski 5 statistics normal-distribution scipy python-3.x
我想问一下,如果我已经知道临界值、均值和 st dev,是否有任何流行的包,如:numpy、scipy 等具有计算 Z-Score 的内置函数。
我通常这样做:
def Zscore(xcritical, mean, stdev):
return (xcritical - mean)/stdev
#example:
xcritical = 73.06
mean = 72
stdev = 0.5
zscore = Zscore(xcritical, mean, stdev)
Run Code Online (Sandbox Code Playgroud)
后来我scipy.stats.norm.cdf
用来计算 x 低于 xcritical 的概率。
import scipy.stats as st
print(st.norm.cdf(zscore))
Run Code Online (Sandbox Code Playgroud)
我想知道我是否可以以某种方式简化它。我知道有scipy.stats.zscore
函数,但它需要一个样本数组而不是样本统计信息。
从 开始Python 3.9
,标准库提供了对象zscore
上的函数NormalDist
作为模块的一部分statistics
:
NormalDist(mu=72, sigma=.5).zscore(73.06)
# 2.1200000000000045
Run Code Online (Sandbox Code Playgroud)