我试图从一张图中随机选择n个样本。为此,我使用random.sample函数创建了一个名为x的列表,如下所示:
X= random.sample(range(graph.ecount()), numPosSamples)
问题是,当numPosSamples等于graph.ecount()时,我收到以下错误:
ValueError: Sample larger than population
任何帮助都将不胜感激。谢谢
最佳答案
我不确定numPosSamples
是如何得到它的值的,但是因为random.sample
不需要替换就进行采样,所以这里可能发生的情况是numPosSamples
大于图中的边数。因此,Python会提升您看到的ValueError
。
或者将样本数减少到小于边数,或者使用允许替换的采样方法,例如使用random.choice
进行列表理解。