繁体   English   中英

样本大于总体Python

[英]Sample larger than population Python

我需要一个包含基数为nilttle且必须在(valuemin,value)中为随机数的整数的列表,但是我得到的误差样本大于运行以下代码的总体

    nlittle=random.randrange(5,15)
    value=random.randint(1,100)
    valuemin=int(valore*0.8)
    minmoduniform=5*valoremin
    maxmoduniform=20*valore
    puniform=random.sample(xrange(valuemin,value), nlittle)
    rouniform=random.sample(xrange(valuemin,value), nlittle)

如果nlittle(在我的代码中)大于xrange中的差异,如何解决此问题并打印列表?

rands = [random.randint(valuemin, value) for x in xrange(nlittle)]

此挑选nlittle之间的整数valueminvalue

//获得基数

我同意@Jasper。 改写您的问题。

一个可能的解决方案可能是使用

n= xrange(valuemin,value)
m= xrange(valuemin,value)
puniform=random.sample(n, min(len (n) ,nlittle))
rouniform=random.sample(m, min(len(m) ,nlittle))

//查看为什么您的代码可能出错。

您的代码段可能在多个实例中遇到麻烦。

让我们来看一个例子。

nlittle是5到15之间的随机整数。说它是15,值在0到100之间。说它已经分配了3。希望valuemin小于3说1。(我不确定,因为我没有了解valoremin)

您试图从2个对象的列表中获取15个对象的样本,这给了您错误。

请参阅此处的随机库文档。 这会更有帮助https://docs.python.org/2/library/random.html

我在下面从网站添加random.sample(pop,k)的摘录。

random.sample(人口,k)

返回从填充序列中选择的唯一元素的ak长度列表。 用于随机抽样而无需更换。

2.3版的新功能。

返回一个新列表,其中包含总体中的元素,同时保留原始总体不变。 结果列表按选择顺序排列,因此所有子切片也将是有效的随机样本。 这样就可以将抽奖活动的获胜者(样本)划分为大奖和第二名的获胜者(子片段)。

人口成员不必是散列的或唯一的。 如果总体包含重复,则每次出现都是样本中的一个可能选择。

要从整数范围中选择样本,请使用xrange()对象作为参数。 这对于从大量人口中采样特别快速且节省空间:sample(xrange(10000000),60)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM