Python 3.x 从总体中抽取固定数量的唯一对
我有一个Python 3.x 从总体中抽取固定数量的唯一对,python-3.x,sampling,Python 3.x,Sampling,我有一个n元素的示例。我想对n中的m唯一对进行子采样。 在python中是否有一个简单的脱离自我的方法来实现这一点 例如,如果n=[1,2,3,4,5,6,7]和m=3,那么这样的样本将是[(1,2),(3,4),(5,6)]随机模块具有一个函数,该函数将从集合中拾取n唯一项。然后,您可以将它们配对以创建所需的输出: 随机导入 进口itertools 数据=[1,2,3,4,5,6,7,8,9,10] m=3 def成对(可编辑): #从itertools食谱中:https://docs.pyt
n
元素的示例。我想对n
中的m
唯一对进行子采样。
在python中是否有一个简单的脱离自我的方法来实现这一点
例如,如果
n=[1,2,3,4,5,6,7]
和m=3
,那么这样的样本将是[(1,2),(3,4),(5,6)]随机
模块具有一个函数,该函数将从集合中拾取n
唯一项。然后,您可以将它们配对以创建所需的输出:
随机导入
进口itertools
数据=[1,2,3,4,5,6,7,8,9,10]
m=3
def成对(可编辑):
#从itertools食谱中:https://docs.python.org/3/library/itertools.html#itertools-食谱
a、 b=itertools.T形三通(ITERRABLE)
下一个(b,无)
返回拉链(a、b)
选择=随机样本(数据,m*2)
结果=成对(已选择)
根据“随机”的确切含义,答案会有所不同
对于唯一对的统一采样,假设列表中的所有元素都是不同的:
import itertools, random
n, m = [1,2,3,4,5,6,7], 3
x = random.sample( list(itertools.permutations(n,2)), m)
print(x) #e.g. [(1,2),(3,4),(5,6)]
我想你希望样本是随机的?@retnikt是的。它必须是随机的。