본문 바로가기

PYTHON

NUMPY :: np.random (1)

오늘은 아침에 할 일이 있어서 최대한 빨리 적어보도록 하겠다.

 

 

 

 

함수들을 배울 때마다 매번 블로거분들이 이 numpy.random을 이용하여 예제 데이터를 만들었다.

그때마다 random 함수가 이렇게 요긴하게 쓰인다고? 했는데,

오늘 제대로 배워보도록 하자.

 

 

 

 

 

대표 3대장:

rand

randn

randint

 

이 세 개가 random을 이야기했을 때 가장 많이 등장하는 함수다.

각각의 역할을 알아보자.

뒤로는 편의를 위해 numpy as np를 사용한다.

 

 

 

np.random.rand
0~1 사이의 균일분포 값을 반환.

 

 

이처럼 rand 함수는 균일분포에서 여러 난수를 추출할 수 있다.

심지어 다차원도 가능!

 

 

 

 

 

 

np.random.randn
표준정규분포(standard normal distribution)에서 난수를 반환.
(rand 뒤의 n은 normal을 의미)

 

 

rand와 방식이 똑같다.

표준정규분포에서 추출하다보니, 아무래도 -1~1 사이의 값이 주로 나온다.

절댓값 3 이상의 값은 거의 나오지 않는다. (11번째 코드 계속 돌렸더니 딱 한번 3.xxx이 나왔다.)

 

 

 

*** 깨알 TIP.

소수점이 너무 길다면, np.round를 사용해줄 수 있다.

뒤에 2를 적어넣은 건, 소수점 셋째 자리에서 반올림하여 소수점 둘째 자리까지만 남기라는 의미다.

 

 

 

 

 

 

np.random.randint
정수인 난수를 반환.
(int는 정수라는 integer를 의미)

얘는 괄호 안에 아무것도 적지 않으면 오류가 뜬다.

ㅠ.....

 

Argument는 다음과 같다,

1. low

2. high

3. size

4. dtype

 

설명하는 것보단 예제를 보는 것이 더 이해하기 쉬울 것이다.

 

 

 

 

dtype은 정수의 데이터 타입을 지정해준다.

int와 int64가 있다고 하는데,

사실 딱히 중요한 건 아닌 듯 하다.

 

 

 

 

오늘 대표 3대장을 다뤘으니, 다음엔 자주 쓰이지 않지만 np.random에 있는 중요한 함수를 다뤄볼 거다.

끗~

'PYTHON' 카테고리의 다른 글

NUMPY :: np.random (2)  (0) 2021.11.16
PANDAS :: 인덱스 함수들 (reset_index, set_index, sort_index)  (0) 2021.11.08
PANDAS :: Series ↔ DataFrame  (0) 2021.11.05
PANDAS :: read_pickle  (0) 2021.10.20
PANDAS :: groupby()  (0) 2021.10.19