Numpy - random 모듈, 난수 배열 생성

Python Numpy의 random 모듈은 난수 배열을 생성하는 모듈입니다.

N차원의 랜덤 숫자 배열을 생성할 수 있습니다. 예제와 함께 자세히 알아보겠습니다.

1차원의 난수 배열 생성 : random.rand()

rand(N)은 길이가 N인 1차원 배열을 생성하며, 난수는 [0~1) 범위의 숫자가 됩니다.

import numpy as np

a = np.random.rand(3)
print(a)

Output:

[0.75212271 0.51562219 0.22850086]

2차원 난수 배열 생성 : random.rand()

rand(N, M)은 NxM 크기의 난수 배열을 생성합니다.

import numpy as np

b = np.random.rand(2, 3)
print(b)

Output:

[[0.06739028 0.9726255  0.30878199]
 [0.37131462 0.50416328 0.36436312]]

1차원 범위 난수 배열 생성 : random.randint()

  • randint(N, size=S)는 크기가 S인 [0, N) 범위의 1차원 난수 배열을 생성
  • randint(N, M, size=S)는 크기가 S인 [N, M) 범위의 1차원 난수 배열을 생성
a = np.random.randint(3, size=5)
print(a)

b = np.random.randint(5, 10, size=5)
print(b)

Output:

[1 0 1 0 2]
[2 2 3 3 2]

2차원 범위 난수 배열 생성 : random.randint()

2차원 배열을 생성할 때는 size=(N, M) 처럼 배열 크기를 전달하면 됩니다. 숫자 범위 설정 방법은 위와 동일합니다.

import numpy as np

a = np.random.randint(3, size=(2, 3))
print(a)

b = np.random.randint(5, 10, size=(2, 3))
print(b)

Output:

[[0 2 2]
 [2 0 0]]
[[7 9 9]
 [5 6 6]]

random_sample()로 난수 배열 생성

  • random_sample()은 난수 리턴
  • random_sample((N, M))은 NxM 난수 배열 리턴
  • 난수 범위는 [0, 1)
import numpy as np

a = np.random.random_sample()
print(a)

b = np.random.random_sample((2, 3))
print(b)

Output:

0.9353513751193463
[[0.64614507 0.22747339 0.01151063]
 [0.27724488 0.11845794 0.22551394]]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha