我有一系列可能的值,例如:
possible_values = range(100)
我有一个在该范围内包含非系统(但唯一)数字的列表,例如:
^{pr2}$我想创建一个新的length<;len(somelist)列表,其中包含这些值的一个子集,但尽可能均匀地分布在可能的值范围内。例如:
length_newlist = 2
newlist = some_function(somelist, length_newlist, possible_values)
print(newlist)
理想情况下,它可以输出类似
[33, 77]
所以我既不需要随机样本,也不需要从等距整数中选择的样本。在这里,关于一个可能的区间上的均匀分布。 有没有一个功能或简单的方法来实现这一点?在
我认为您应该检查
random.sample(population, k)
函数。它在k长度列表中对总体进行抽样。在你的子集中离某个列表的轴最近的值呢?即:
在任何情况下,我还建议查看一下numpy's random sampling函数,这对您也有帮助。在
假设您的范围是0..N-1,并且需要K<;=N-1值的列表。然后定义一个K值的“理想”列表,这将是您希望在这个完整列表中的分布(坦率地说,我不确定我是否理解这将是什么,但希望您能理解)。最后,从随机选择的大于K长度的子列表中选取与这些值最接近的匹配项,以获得正确分布的K长度随机子列表。在
相关问题 更多 >
编程相关推荐