NUMPY

정재훈·2023년 3월 6일

NumPy에서 제공하는 random 모듈의 randint, rand, randn 함수는 각각 다음과 같은 차이점이 있습니다.

randint(low, high=None, size=None, dtype=int) 함수
주어진 범위 내에서 정수를 랜덤하게 생성합니다.
low: 랜덤한 정수의 최소값입니다. 이 값은 범위에 포함됩니다.
high: 랜덤한 정수의 최대값입니다. 이 값은 범위에 포함되지 않습니다. 따라서, high 값은 설정하지 않으면 0에서 low 사이의 정수를 생성합니다.
size: 생성할 배열의 크기를 지정합니다.
dtype: 생성할 배열의 자료형을 지정합니다.
rand(d0, d1, ..., dn) 함수
주어진 shape에 따라 0과 1 사이의 난수를 생성합니다.
d0, d1, ..., dn: 생성할 배열의 차원을 지정합니다.
randn(d0, d1, ..., dn) 함수
주어진 shape에 따라 표준 정규 분포(평균=0, 표준편차=1)에서 랜덤한 값을 생성합니다.
d0, d1, ..., dn: 생성할 배열의 차원을 지정합니다.
따라서, randint 함수는 정수형 데이터를 랜덤하게 생성하고, rand 함수는 실수형 데이터를 0과 1 사이에서 랜덤하게 생성하며, randn 함수는 실수형 데이터를 표준 정규 분포에서 랜덤하게 생성합니다.

NumPy의 random.randint() 함수를 사용하여 -50에서 50까지의 정수 중에서 0.1을 곱한 값으로 100개의 랜덤한 실수를 생성하고, 그 결과를 10으로 나누어서 -5에서 5까지의 구간에서 랜덤하게 정수 100개를 선택할 수 있습니다.

다음은 해당 코드입니다.

python
Copy code
import numpy as np

-5에서 5까지 0.1 간격으로 랜덤한 실수 100개 생성

rand_floats = np.random.randint(-50, 51, size=100) * 0.1

0.1을 곱해준 값에서 -5를 빼고 10을 곱하여 -5에서 5까지의 정수로 변환

rand_ints = (rand_floats - (-5)) * 10

print(rand_ints)
위 코드를 실행하면 -5에서 5까지 0.1 간격으로 랜덤하게 선택된 정수 100개가 출력됩니다.

NumPy의 random.randint() 함수를 사용하여 -50에서 50까지의 정수 중에서 0.1을 곱한 값으로 100개의 랜덤한 실수를 생성하고, 그 결과를 10으로 나누어서 -5에서 5까지의 구간에서 랜덤하게 정수 100개를 선택할 수 있습니다.

다음은 해당 코드입니다.

python
Copy code
import numpy as np

-5에서 5까지 0.1 간격으로 랜덤한 정수 100개 생성

rand_ints = np.random.randint(-50, 51, size=100)

10을 곱해준 값에서 0.5를 더하고 1을 나누어서 -5에서 5까지의 실수로 변환

rand_floats = (rand_ints * 0.1) + 0.5

print(rand_floats)
위 코드를 실행하면 -5에서 5까지 0.1 간격으로 랜덤하게 선택된 실수 100개가 출력됩니다.

import numpy as np

-5에서 5까지 0.1 간격으로 랜덤한 정수 100개 생성

rand_ints = np.random.randint(-50, 51, size=100)

10을 곱해준 값에서 0.5를 더하고 1을 나누어서 -5에서 5까지의 실수로 변환

rand_floats = (rand_ints * 0.1) + 0.5

print(rand_floats)

코드를 입력하세요import numpy as np

-5에서 5까지 0.1 간격으로 랜덤한 정수 100개 생성

rand_ints = np.random.randint(-50, 51, size=100)

10을 곱해준 값에서 0.5를 더하고 1을 나누어서 -5에서 5까지의 실수로 변환

rand_floats = (rand_ints * 0.1) + 0.5

print(rand_floats)

import numpy as np

-5에서 5까지 0.1 간격으로 랜덤한 정수 100개 생성

rand_ints = np.random.randint(-50, 51, size=100)

10을 곱해준 값에서 0.5를 더하고 1을 나누어서 -5에서 5까지의 실수로 변환

rand_floats = (rand_ints * 0.1) + 0.5

print(rand_floats)

0개의 댓글