我目前正在使用Excel通过以下方式计算累积正态分布
x = 0
mean = 0.03
standard deviation = 0.055
然后我使用公式
=1-NORMDIST(0,0.03,0.055,TRUE)
这将产生0.7的输出,这正是我想要的。
如何在python上获得相同的结果?
谢谢
答案 0 :(得分:0)
您可以使用scipy.stats.norm
:
from scipy.stats import norm
print(sf(x=0, loc=0.03, scale=0.055))
Out[10]: 0.7072795327155363
答案 1 :(得分:0)
如果您可以使用scipy
,则可以执行以下操作:
from scipy import stats
stats.norm.cdf(0)
0.5
,但是看起来您想要的实际上是上尾概率,在scipy.stats
中简称为sf
的生存函数。
stats.norm.sf(0, 0.03, 0.055)
0.7072795327155363
应该给您您想要的。 scipy包中有许多连续且离散的分布。这些文档也可以在线阅读:
https://docs.scipy.org/doc/scipy-0.16.1/reference/stats.html
支持其他分布函数,也支持其他常见的分布计算,例如随机抽样,均值,质量/密度函数等。
如果您愿意,可以直接通过以下方式进行计算:
>>> 1-stats.norm.cdf(0, 0.03, 0.055)
0.7072795327155363