본문 바로가기

PYTHON

NUMPY :: np.random (2)

잊고 있었다... 요즘 아침시간을 공치며 날리는 기분ㅠㅅㅠ

소홀해지지 말자. ㅠㅠ

 

 

 

 

 

 

 

지난 시간에 random의 대표적인 난수생성 함수의 rand, randn, randint를 다뤘었다.

이번엔 난수 생성은 아니나 앞의 세 함수만큼 자주 쓰이는 함수들을 다뤄보겠다.

 

 

오늘 사라가 다룰 함수:

 

choice

 

shuffle

 

permutation

 

 

 

 

 

np.random.choice
데이터 샘플링 함수

난수생성 함수처럼 정수를 샘플링할 수 있다.

또한 그 자리에 배열을 삽입하면, 배열을 모집단으로 하여 표본추출이 가능하다.

 

argument는 prob를 의미하는 p, 복원/비복원을 결정하는 replace(True가 디폴트)가 있다.

 

 

 

 

 

 

우선 정수를 샘플링하는 법을 보자.

너무 쉬우니 설명보단 파이썬 코드로 대체하겠다.

EASY~

 

이번엔 모집단에서 표본을 추출하는 법이다.

이것도 아주 쉽다. 나머지 argument도 동일하다.

 

 

 

 

 

 

 

 

np.random.shuffle
데이터 섞는 함수 (1)

np.random.permutation
데이터 섞는 함수 (2)

여기서 함수 하나 더.
R에서의 set.seed
= 파이썬에서는 np.random.seed

 

 

두 함수는 무슨 차이가 있을까?

데이터 배열을 섞어주는 것은 동일하나, 데이터를 변화시키는 방식과 데이터 타입에 차이가 있다.

 

shuffle(x) : x 배열을 바꿔서 리스트로 저장

permutation(x) : x 배열이 바뀐 것을 배열로 반환.

 

즉, shuffle엔 inplace 기능이 있고 permutation엔 없다고 생각하면 편하다.

 

 

굿!

'PYTHON' 카테고리의 다른 글

NUMPY :: np.random (1)  (0) 2021.11.09
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