二项分布CDF使用scipy.stats.binom.cdf

时间:2017-10-11 02:04:06

标签: python plot scipy histogram cdf

我写下面的代码使用二项分布CDF(通过使用scipy.stats.binom.cdf)来估计100次投掷中不超过k个头的概率,其中k = 0,10,20,30, 40,50,60,70,80,90,100。 然后我尝试使用hist()绘制它。

import scipy
import matplotlib.pyplot as plt
def binomcdf():
    p = 0.5
    n = 100
    x = 0
    for a in range(10):
        print(scipy.stats.binom.cdf(x, n, p))
        x += 10

plt.hist(binomcdf())
plt.show()

但我不知道为什么我的情节会变空,我收到以下错误,任何人都可以帮忙!

  

TypeError:'NoneType'对象不可迭代

3 个答案:

答案 0 :(得分:2)

您打印了您的值,但没有返回它们。默认返回值为struct Stack<T> { var items = [T]() mutating func push(_ item: T) { items.append(item) } mutating func pop() -> T? { return items.removeLast() } } ,这会产生错误。

答案 1 :(得分:1)

我会将每个关联x的x和相应的cdf输出保存到列表中,然后返回该列表。然后使用列表中的数据进行绘图。

答案 2 :(得分:0)

您忘了返回计算值...所以您返回None 应该可以这样工作-见下文-如果我的意思正确的话:)

import re

def decode(text):
    for (char, num) in re.findall(r'([a-z])([0-9]+)', text):
        yield char * int(num)

print(''.join(decode('a10b2c3')))