【问题标题】:how can I plot a histogram using random.expovariate() PYTHON如何使用 random.expovariate() PYTHON 绘制直方图
【发布时间】:2013-04-04 12:11:29
【问题描述】:

我有一个问题,它显示客户以每小时 7 次的速度进入酒吧,问题指出我需要使用 random.expovariate() 并生成一个显示 100 个到达间隔时间的直方图。 到目前为止我有这个

import numpy as np
from matplotlib import pyplot as plt
import random

def customers():    
    x=np.random.expovariate(7,100)                                                                                                                                
    plt.hist(x,100)
    plt.axis([-0,100,0,100])
    plt.show()
    return True

def main():
    global history
    print(customers()) 

if __name__ == "__main__":
    main()

我得到了错误

AttributeError: 'module' object has no attribute 'expovariate'

我也不是 100% 这就是我显示图表的方式,我已经研究过它,但在任何地方都没有找到明确的答案! 希望能帮到你

【问题讨论】:

    标签: python random statistics


    【解决方案1】:

    以下是帮助您入门的内容:

    import numpy as np
    from matplotlib import pyplot as plt
    import random
    
    def customers():
        x = [random.expovariate(7) for r in xrange(100)]                   
        plt.hist(x,10)
        plt.show()
        return True
    
    def main():
        global history
        print(customers()) 
    
    if __name__ == "__main__":
        main()
    

    您的主要问题是:

    1. 你打电话给np.random.expovariate()而不是random.expovariate()

    2. random.expovariate() 接受 1 个参数而不是 2 个

    3. random.expovariate() 只产生一个数字,要创建直方图,您需要多个数字。在上面我创建了一个显式随机数列表。

    【讨论】:

    • 谢谢!只是为了比较你会如何做同样的问题,但使用泊松分布?
    • python poisson 的简单搜索引导我here。寻找,你就会找到!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-23
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多