找出有多少高于标准开发
Posted
技术标签:
【中文标题】找出有多少高于标准开发【英文标题】:Finding how many are above standard dev 【发布时间】:2014-11-02 06:28:00 【问题描述】:现在,我想计算有多少天的销售额高于平均值的 1 标准差。我该如何解决这样的问题?
average_value= input("What is the average value of sales a day?\n")
std_dev= input("What is the standard deviation of sales a day?\n")
days= input("How many days do you want to simulate?\n")
sales=[random.gauss(average_value,std_dev) for i in range(days)]
【问题讨论】:
您希望min(x)
和max(x)
做什么?
【参考方案1】:
从 the docs、min
和 max
获取一个可迭代的,而不是像你一样的 int
。如果您想找到从循环中获取的值的最小值和最大值,您需要将它们存储到一个列表中,然后在创建的列表中调用 min
和 max
函数。
【讨论】:
numbers = []
创建一个列表,然后,在您的循环中,您需要调用 numbers.append()
将您的值添加到列表中。你可以找到more information here。【参考方案2】:
您不能使用int
的max
或min
,x
是。你需要列个清单。
import random
days = 10
average_value = 5.0
std_dev = 1.0
values = [random.gauss(average_value, std_dev) for i in range(days)]
>>> values
[4.610687715224258, 6.322701044169396, 4.584676199460875, 4.6351867518251595, 4.368399817684789, 4.201682562256684, 5.5211434405667354, 5.744873752293046, 4.885975367514446, 4.7502049666640405]
>>> min(values)
4.201682562256684
>>> max(values)
6.322701044169396
【讨论】:
谢谢,这行得通。现在,如果我想找到一种方法来确定有多少值比平均值高 1 个标准差,我该如何在程序中做到这一点?我确实知道它背后的数学原理,但我不知道如何检查列表中的每个值并检查它是否确实在上面。【参考方案3】:您必须确保天数是整数
days = int(days)
【讨论】:
这根本不是问题。问题是min(x)
和max(x)
。将days
转换为int
将无法解决任何问题。以上是关于找出有多少高于标准开发的主要内容,如果未能解决你的问题,请参考以下文章