[DSAC M1] randn, rand, randint 차이 / matplotlib

실습은 주피터로 하였고, kpc의 DSAC Module1 DATA Programming을 참고했습니다.

 

 

[matplotlib]

파이썬의 시각화 라이브러리이다.

예시로 랜덤 숫자 50개를 생성하고 선으로 연결한다.

우선 numpy와 matplotlib.pyplot을 불러와준다. 그리고 각각 np와 plt로 부르겠다고 약속!

%matplotlib inline는 주피터 노트북 화면에 직접 나타나게 그리라는 뜻이다.

 

np.random.randn(n) : numpy에서 랜덤값을 생성하는 함수이다. numpy를 np로 부르기로 약속했으니 np로 접근하였다.


[randn vs rand vs randint]

randn 함수는 평균이 0이고 표준편차가 1인 정규분포를 생성해준다.

n개의 랜덤값 생성

np.random.rand(n) : rand 함수는 0에서 1 사이의 균등 분포를 생성한다.

np.random.randint(n) : 0부터 n-1까지 랜덤한 정수 한개를 생성한다.

아래는 1~6 사이의 정수 10개를 랜덤하게 얻는 코드이다.

* 위에서 보았듯이 넘파이에서 numpy.random.randint는 끝 값을 포함하지 않지만, 파이썬에서 random.randint는 끝 값을 포함한다.


 

[실습]

1) 주사위를 5000번 던져 1~6 사이의 눈금이 몇 번 나오는지 히스토그램으로 표현

randint로 주사위를 5000번 던졌다.

히스토그램으로 나타내기 위해 matplotlib.pyplot을 불러왔고, hist함수와 show 함수로 히스토그램을 그렸다.

 

 

2) 정규분포를 갖는 15만개의 랜덤 숫자의 분포를 히스토그램으로 표현

randn으로 정규분포를 갖는 15만 개의 랜덤 숫자를 발생시켰다.

320x100