random 라이브러리를 활용해 난수 (무작위 수)를 만들수있다.
random 라이브러리를 활용하기 위해 import해보자
import random
random 함수를 통해 0.0 ~ 1.0 사이 난수를 생성할수 있다.
in:
random.random()
out:
0.031145235632028312
# 실핼할때 마다 무작위 수가 나온다.
randint 함수를 사용해 int 형의 난수를 얻어보자
in:
random.randint(100,500)
out:
324
# 100에서 500까지의 정수 형태의 난수가 얻어졌다.
uniform함수를 사용해 float 형의 난수를 얻을수 있다.
in:
random.uniform(1,5)
out:
1.39769944990312
seed를 설정해 똑같은 난수의 패턴이 나오도록 할수있다.
in:
a = []
random.seed(5)
for i in range(4):
a.append(random.randint(1,6))
print(a)
out:
[5, 3, 6, 3]
# seed값을 5로 설정하면 5, 3, 6, 3...이 나온다.
# randint함수를 실행할때마다 똑같은 패턴으로 나온다.
# 때문에 시드값은 절대 외부에 알려지면 안된다.
random 라이브러리의 normalvariate함수를 활용해 정규분포에 해당하는 난수를 생성할수있다.
평균 170, 표준편차 10에 해당하는 정규분포 코드를 짜보자
in:
normal_variate = []
for i in range(1000):
value = random.normalvariate(170,10)
normal_variate.append(value)
normal_variate
out:
[161.20402915213026,
183.56553044463578,
158.77871704842505,
167.56909413586396,
161.81354365999096,
164.0577556822155,
155.05224184100402,
...
as 로 라이브러리 이름을 줄이도록 지정해서 쓸수있다.
import matplotlib.pyplot as plt
matplotlib.pyplot라이브러리의 hist함수를 사용하여 정규분포 차트를 나타낼수 있다.
in:
plt.hist(normal_variate)
out:
(array([ 5., 20., 90., 201., 252., 207., 141., 64., 15., 5.]),
array([140.48195841, 146.76185416, 153.04174992, 159.32164567,
165.60154143, 171.88143718, 178.16133294, 184.44122869,
190.72112445, 197.0010202 , 203.28091596]),
<BarContainer object of 10 artists>)

random 라이브러리의 choice함수를 사용해 리스트나 집합에 저장된 값을 무작위로 뽑을수 있다.
in:
noodle_list = ['너구리','신라면','진라면','왕뚜껑','오징어짬뽕']
random.choice(noodle_list)
out:
'오징어짬뽕'
smaple함수를 사용해서 여러개의 데이터들을 무작위로 뽑을수 있다
in:
random.sample(noodle_list, 3)
out:
['왕뚜껑', '신라면', '너구리']
shuffle함수를 사용하여 리스트 속 데이터들의 순서를 섞어서 저장할수 있다.
in:
random.shuffle(noodle_list)
noodle_list
out:
['진라면', '신라면', '왕뚜껑', '오징어짬뽕', '너구리']
만약 원본 리스트는 변형없이 그대로 두고, 순서가 섞인 리스트를 얻어오고자 한다면
in:
random.sample(noodle_list,len(noodle_list))
out:
['너구리', '신라면', '오징어짬뽕', '진라면', '왕뚜껑']
+
평균값과 중앙값을 알아보자
평균을 구한다고 한다면
in:
data = [6,4,5,2,2,1,6,6,3]
sum(data)/len(data)
out:
3.888888888888889
# 각 값들의 합에서 개수를 나누어 준다.
statistics라이브러리를 임포트해서 mean함수를 이용해 평균을 구할수 있다.
in:
data = [6,4,5,2,2,1,6,6,3]
import statistics
statistics.mean(data)
out:
3.888888888888889
중앙값을 구한다고 한다면
median 함수를 이용하여 중앙값을 구해보자
in:
data = [6,4,5,2,2,1,6,6,3]
statistics.median(data)
out:
4
# 중앙값은 정렬된 리스트의 가운데 있는 값이다.
댓글