본문 바로가기

프로그래밍 언어/Python

[Python] 라이브러리:난수(int,float), seed(), choice(),sample(), shuffle()

반응형

라이브러리: 함수들이 모아놓은 거, 함수들의 묶음. 

# 라이브러리는 외우는 게 아니다. 그냥 이런게 있다는 것만 알고 있어라

 

난수 생성하기

- Random Number

 

0.0~1.0 사이 난수 생성

ㄴ random.random()

import random
random.random()

import: random이는 라이브러리를 사용하겠다는 뜻

random.random(): 왼쪽은 라이브러리이고, 오른쪽은 함수라는 뜻

ㄴ random 라이브러리에 함수가 많다. 그 중에 하나가 random.

ㄴ 0과 1사이에 무작위로 데이터를 가져오는 것. 

 

int형의 난수 생성

import random
random.randit(0,1)

random.randit(범위 시작, 범위 끝 int형)

 

float형의 난수 생성

import random
random.randit(1,5)

random.uniform(범위 시작, 범위 끝 int형)

 

 

생성똑같은 난수의 패턴이 나오도록 하는 방법:

- 테스트를 수행했을 경우, 다른 사람도 같은 프로그램을 돌려서 같은값이 나오는지 확인하는 경우

- 머신러닝에서 weight 초기값 할당하는 데 많이 사용됨

 

random.seed(아무 숫자)

- 실행할 때마다 무작위로 데이터가 나오는데!! 

- 예를 들어, 2,5,4,2,1,6,3이런식의 무작위로 나오되,

- 무작위로 나온 수의 순서와 관련된 패턴을 똑같이 하고싶을 때

- 씨드(Seed) 값을 사용한다. 

- 패턴을 예측 할 수 있기 때문에, 일반 기업에서는 시드값을 공개하지 않는다. 

 

import random
random.seed(5)
random.randit(1,5)

 

정규분포에 해당하는 난수를 생성

random.normalvariate(평균값,표준편차 값)

- normal_variate에 1,000개의 데이터가 랜덤으로 쌓인다.

 

라이브러리 이름 간략 설정: as

ㄴ 라이브러리 이름이 길 때는, 라이브러리 이름을 줄이고 싶을 때 사용 하는 것이 'as' 

ㄴ”나는 'as' 뒤에 있는 이름으로 라이브러로 원래 이름을 대체하여 쓰겠다.”라는 뜻

ㄴ ex) import matplotlib.pyplot as plt

 

데이터 말고, 그래프만 보이게 함: .show()

 

리스트/집합에 저장되어 있는 값을 랜덤으로 추출: random.choice()

ㄴ 리스트에 있는 데이터 중에 아무거나 뽑아달라.하나 가져올 땐 choice

 

random.choice(데이터 스트럭쳐)

 

요소를 여러개 샘플로 추출: random.sample()

ㄴ 여러개 가져올 때는 sample

ㄴ 첫번째 파라미터는 데이터 스트럭쳐, 두번째는 몇 개 가져올지에 대한 개수

 

random.sample(데이터 스트럭쳐,개수)

 

 

요소 섞기(원본 자체 無 변화): .sample()

ㄴ 위의 개념에서 살짝 돌려 생각해본 것.

random.sample(데이터 스트럭쳐,개수)

 

요소 섞기(원본 자체 有 변화): .shuffle()

ㄴ 원본 자체가 변한다.

random.shuffle(데이터 스트럭쳐)

 


반응형