오답노트
[Numpy] 난수로 이루어진 N차원 배열 본문
nomal
nomal은 인자로 평균값, 표준편차, 개수를 순서대로 입력한다.
arr = np.random.normal(0,1,10) # 평균값, 표준편차, 개수
print(arr)
위 코드는 평균값이 0이고 표준편차가 1인 난수를 10개 생성한다.
rand
rand 함수는 0에서 1사이의 수를 균등하게 생성한다.
인자로는 생성할 난수의 개수를 입력한다.
arr = np.random.rand(1000) # 1000개 난수 생성
plt.hist(arr,bins=100) # import matplotlib.pyplot as plt
plt.show()
randn
-1 에서 1 사이에서 정규분포로 난수를 생성한다.
인자로는 생성할 난수의 개수를 입력한다.
arr = np.random.randn(1000) # 1000개 난수 생성
plt.hist(arr,bins=100) # import matplotlib.pyplot as plt
plt.show()
randint
정수의 형태의 난수를 생성한다.
인자로 low, high, size를 입력 받고
low 는 시작 정수
high 는 최대 정수 + 1
size 는 난수의 개수이다. size는 행렬의 형태로 입력할 수 있다.
또 인자를 1개만 입력할 수 있는데 이는 high 값으로 입력된다.
#랜덤한 정수만 출력
arr = np.random.randint(low=1,high=5,size=(3,4))
print(arr)
# 인자 1개일 때 : high 값만 설정되고 정수 1개만 출력
arr = np.random.randint(10)
print(arr)
arr = np.random.randint(100,200,1000)
plt.hist(arr,bins=100) # import matplotlib.pyplot as plt
plt.show()
seed
난수는 함수를 실행할 때 마다 다른 값을 반환한다.
하지만 seed 함수를 활용하면 함수를 실행할 때 마다 같은 값을 반환할 수 있다.
seed는 난수의 기준점을 잡아주는 함수인 것이다.
#seed 함수 사용X
arr = np.random.rand(10)
print("난수1 : ", arr)
arr = np.random.rand(10)
print("난수2 : ", arr)
#seed 함수 사용
np.random.seed(1)
arr = np.random.rand(10)
print("난수1 : ", arr)
np.random.seed(1)
arr = np.random.rand(10)
print("난수2 : ", arr)
위 코드 블록에서 seed는 난수 생성 함수를 사용하기 전에 호출되어야 seed가 적용이 된다.
난수 생성 함수를 호출할 때 마다 seed 함수를 먼저 호출해야 같은 값을 반환 받을 수 있다.
'Python > Numpy' 카테고리의 다른 글
[Numpy] 배열의 기본적인 연산 (0) | 2022.07.10 |
---|---|
[Numpy] 배열 인덱싱 (0) | 2022.07.08 |
[Numpy] 특정 범위의 값을 가지는 N차원 배열 생성 (0) | 2022.07.07 |
[Numpy] 정해진 형식의 N차원 배열 생성 (0) | 2022.07.07 |
[Numpy] Numpy 소개와 N차원 배열 (0) | 2022.07.07 |