Python中qnorm、qf和qchi2的等价函数
我需要在Python中计算一些分布的分位数。在R语言中,可以使用qf、qnorm和qchi2这几个函数来计算这些值。
在Python中有没有和这些R函数相对应的功能呢?我在scipy库里找过,但没有找到相关的内容。
2 个回答
57
在Python中,跟R语言里的 pnorm()
函数相对应的函数是 scipy.stats.norm.cdf()
。
而跟R语言里的 qnorm()
函数相对应的函数是 scipy.stats.norm.ppf()
。
36
你可以在 scipy.stats
中找到概率分布。每种分布都有一套函数,比如如果你去 norm
分布的页面,往下滚动,你会看到一些方法,包括
ppf(q, loc=0, scale=1) # Percent point function (inverse of cdf — percentiles)
这就是 scipy
所称的百分位点函数,它的功能和 R
中的 q
函数是一样的。
举个例子:
>>> from scipy.stats import norm
>>> norm.ppf(.5) # half of the mass is before zero
0.0
其他分布也有类似的接口,比如 chi^2
:
>>> from scipy.stats import chi2
>>> chi2.ppf(.8, df=2) # two degress of freedom
3.2188758248682015