English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
랜덤 num은 항상 다른 숫자가 아니라는 것을 의미하지 않습니다. 랜덤은 논리적으로 예측할 수 없는 것을 의미합니다.
컴퓨터는 프로그램에서 작동하며, 프로그램은 권위적인 명령 집합입니다. 따라서 랜덤 num을 생성하기 위해서는 어떤 알고리즘도 필요합니다.
랜덤 num을 생성하는 프로그램이 있으면 예측할 수 있으므로, 진정한 랜덤 num이 아닙니다.
생성 알고리즘을 통해 생성된 랜덤 num은 가상 랜덤 num이라고 합니다.
진정한 랜덤 num을 생성할 수 있을까요?
네. 컴퓨터에서 진정한 랜덤 num을 생성하려면, 외부 소스에서 랜덤 데이터를 얻어야 합니다. 외부 소스는 일반적으로 키보드 입력, 마우스 이동, 네트워크 데이터 등입니다.
보안(예: 암호화 키)과 관련이 있거나 랜덤성이 기본 요소인 애플리케이션(예: 디지털 룰렛)에서만 진정한 랜덤 num이 필요합니다.
이 튜토리얼에서는 가상 랜덤 num을 사용할 것입니다.
NumPy는 랜덤 num을 처리하는 random 모듈을 제공합니다. 다음은 0에서 100에서의 랜덤 정수를 생성합니다:
>>> from numpy import random >>> x = random.randint(100) >>> print(x) 56
random 모듈의 rand() 메서드는 0에서 1 사이의 랜덤 푸터플 num, 다음은 0에서 100 사이의 랜덤 푸터플 num:
>>> from numpy import random >>> x = random.rand() >>> print(x) 0.4755747164243269
NumPy에서는 예제에서 사용된 두 가지 메서드를 사용하여 랜덤 배열을 생성할 수 있습니다. randint() 메서드는 size 파라미터를 받아 배열의 형태를 지정할 수 있습니다.
다음은 1-D 배열, 배열에 포함된 5 개의 100에서의 랜덤 정수를 생성합니다:
>>> from numpy import random >>> x=random.randint(100, size=(5)) >>> print(x) [36 14 12 91 36]
생성된 3 행의 2-D 배열, 각 행에 5 개의 100에서의 랜덤 정수를 생성합니다:
>>> from numpy import random >>> x = random.randint(100, size=(3, 5)) >>> print(x) [[20 64 23 6 66] [74 11 21 61 70] [24 47 22 22 31]]
rand() 메서드는 배열의 형태를 지정할 수도 있습니다. 다음은 5 개의 랜덤 실수를 포함한 1-D 배열을 생성합니다:
>>> from numpy import random >>> x = random.rand(5) >>> print(x) [0.63254731 0.0275278 0.83592219 0.41890601 0.84496798]
생성된 3 행의 2-D 배열, 각 행에 5 개의 랜덤 수를 생성합니다:
>>> from numpy import random >>> x = random.rand(3, 5) >>> print(x) [[0.51798216 0.70541454 0.03600922 0.2279383 0.2184512 ] [0.91734846 0.07877026 0.75949221 0.7876666 0.20983625] [0.25935065 0.37637584 0.7793815 0.65035139 0.66673048]]
메서드는 값 배열을 기반으로 랜덤 값을 생성할 수 있습니다. 메서드는 배열을 파라미터로 사용하여 랜덤 값을 반환합니다.
>>> from numpy import random >>> x = random.choice([3, 5, 7, 9] >>> print(x) 5
choice() 메서드는 값 배열을 반환할 수도 있습니다. size 파라미터를 추가하여 배열의 형태를 지정합니다. 배열 파라미터로 배열을 사용하여 랜덤 값을 생성할 수 있습니다.3、5、7 와 9):의 값으로 구성된 이차 배열을 생성합니다:
>>> from numpy import random >>> x = random.choice([3, 5, 7, 9], size=(3, 5)) >>> print(x) [[7 9 7 5 9] [3 3 3 7 9] [7 5 9 3 7]]