ValueError: выборка больше чем выборка выборки из графика
Я пытаюсь случайным образом выбрать n образцов из графика. Для этого я создаю список с именем X, используя функцию random.sample, как показано ниже:
X= random.sample(range(graph.ecount()), numPosSamples)
Проблема в том, что когда numPosSamples равен graph.ecount(), я получаю следующую ошибку:
ValueError: Sample larger than population
Любая помощь будет высоко ценится. Спасибо
2 ответа
Я не уверен как numPosSamples
приобретает свою ценность, а потому random.sample
делает выборку без замены, что, вероятно, здесь происходит, что numPosSamples
больше, чем количество ребер в вашем графике. В результате Python поднимает ValueError
что ты видишь.
Либо уменьшите количество выборок до количества ребер, либо используйте метод выборки, который позволяет производить выборку с заменой, например, понимание списка с random.choice
,
Вы можете добавить некоторую логику, которая обнаружит, если ваш список, если короче, чем количество образцов, которые вы хотите.
Например:
a = list(range(10))
num_samples = 20
sample(a, num_samples if len(a) > num_samples else len(a))