IT TIP

numpy의 반복되지 않는 난수

itqueen 2021. 1. 5. 20:46
반응형

numpy의 반복되지 않는 난수


내 질문은 : numpy에서 반복되지 않는 난수를 어떻게 생성 할 수 있습니까?

list = np.random.random_integers(20,size=(10))

NumPy 사용을 고집하지 않으면 random.sample()표준 라이브러리에서 사용할 수 있습니다 .

print random.sample(range(20), 10)

NumPy를 사용하면 다음을 사용 numpy.random.shuffle()하고 슬라이스해야합니다.

a = numpy.arange(20)
numpy.random.shuffle(a)
print a[:10]

지금은 numpy.random.sample작동하지 않는 것 같습니다. 이게 내 방법이야:

import numpy as np
np.random.choice(range(20), 10, replace=False)

정렬하여 얻을 수도 있습니다.

random_numbers = np.random.random([num_samples, max_int])
samples = np.argsort(random_numbers, axis=1)

필요한 범위의 숫자를 포함하는 배열을 생성 한 다음 임의의 숫자를 배열의 0 번째 요소와 반복적으로 교체하여 섞습니다. 이것은 중복 값을 포함하지 않는 임의의 시퀀스를 생성합니다.

참조 URL : https://stackoverflow.com/questions/8505651/non-repetitive-random-number-in-numpy

반응형