我试图从一张图中随机选择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进行列表理解。

10-05 19:48