데이터 분석

np.random.random 과 np.random.rand 의 차이

temporubato108 2024. 9. 5. 20:01

1. np.random.random()

  • 설명: np.random.random()은 0과 1 사이의 난수를 생성한다. 이 함수는 **배열의 모양(shape)**을 인자로 받지 않으며, 대신에 튜플 형태의 크기를 명시해야 한다.
  • 사용법: np.random.random((행, 열))처럼 크기를 괄호 안에 튜플로 지정해야 한다.

예시 코드:

import numpy as np

# 2x3 배열의 0과 1 사이의 난수를 생성
array_random = np.random.random((2, 3))
print(array_random)
[[0.123456 0.654321 0.234567]
 [0.456789 0.987654 0.345678]]

2. np.random.rand()

  • 설명: np.random.rand()도 0과 1 사이의 난수를 생성하지만, 이 함수는 직접 인자들로 배열의 크기를 지정할 수 있다. 즉, 튜플이 필요하지 않고, 각각의 크기를 개별 인자로 전달한다.
  • 사용법: np.random.rand(행, 열)처럼 크기를 인자로 전달한다.

예시 코드:

import numpy as np

# 2x3 배열의 0과 1 사이의 난수를 생성
array_rand = np.random.rand(2, 3)
print(array_rand)
[[0.54321  0.67891  0.12345]
 [0.98765  0.23456  0.76543]]

차이점 정리

  • 호출 방식:
    • np.random.random()은 배열 크기를 튜플로 지정
    • np.random.rand()는 배열 크기를 인자로 전달
  • 두 함수 모두 0과 1 사이의 난수를 생성하며, 호출 방식을 제외하고 기능적으로는 비슷하다.