我想实现功能func()来完成以下任务:
汽车的平均重量为m
kg,标准偏差为s
kg。您希望所有汽车的哪一部分重量超过k
千克(概率必须为<1
)?
import scipy.stats as sts
def func(m, s, k):
norm_rv = sts.norm(loc=m, scale=s)
return round(norm_rv.cdf(k), 4)
print('Result:', func(25, 3, 27))
结果为
0.7475
,但必须为0.2546
我做错了什么?
最佳答案
norm_rv.cdf(k)
返回随机变量取小于或等于k
的值的概率。
您的实现应该是
import scipy.stats as sts
def func(m, s, k):
norm_rv = sts.norm(loc=m, scale=s)
return round(1 - norm_rv.cdf(k), 4) # This is where the change is
print('Result:', func(25, 3, 27))
关于python - 分布密度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51369303/