[Numpy]default_rng, 새로운 난수 생성기

민서·2023년 8월 4일
0

default_rng?

default_rng는 NumPy 버전 1.17부터 추가된 새로운 난수 생성기(Generator)이다. random.seed에 비해 다양한 난수분포를 가질 수 있고, 여러개의 난수를 관리하는 등 강력한 기능을 제공한다.

예시코드

  • 기본 사용법
import numpy as np

# 새로운 난수 생성기 생성
rng = np.random.default_rng()

# 0 이상 1 미만의 난수 생성 (균일 분포)
random_number = rng.random()
print("Random number:", random_number)

# 정규 분포를 따르는 난수 생성
normal_random_number = rng.normal(loc=0, scale=1)
print("Normal random number:", normal_random_number)
  • 여러개의 난수관리
rng1 = np.random.default_rng()
rng1.random()  
#출력 : 0.6596288841243357  # may vary
rng2 = np.random.default_rng()
rng2.random()  
#출력 : 0.11885628817151628  # may vary
  • 활용
import secrets
import numpy as np
secrets.randbits(128)  
#출력 : 122807528840384100672342137672332424406  # may vary
rng1 = np.random.default_rng(122807528840384100672342137672332424406)
rng1.random()
#출력 : 0.5363922081269535
rng2 = np.random.default_rng(122807528840384100672342137672332424406)
rng2.random()
#출력 : 0.5363922081269535

참고문헌

공식문서

profile
실패보다 사람을 더 미치게 하는게 후회더라구요

0개의 댓글