파이썬/파이썬 심화

[파이썬 심화] 4-1. NumPy 기술 통계, 난수 발생

  • -
반응형

기술 통계

import numpy as np

x = np.array([10,15,34,96,16,24,81,51,22,34])

print(len(x)) # 배열 원소의 개수
print(np.mean(x)) # 배열 원소의 평균
print(np.var(x)) # 분산
print(np.std(x)) # 표준편차
print(np.max(x)) # 최대값
print(np.min(x)) # 최소값
print(np.median(x)) # 중앙값
print(np.percentile(x, 10)) # 하위 10% 값
print(np.percentile(x, 25)) # 하위 25% 값 (1사분위)
print(np.percentile(x, 50)) # 중앙값 (2사분위)

 

난수 발생

  • random 서브패키지의 rand 함수 - '난수처럼' 보이는 수열을 생성
print(np.random.rand()) # rand:0~1 범위, 값 : 0.6735595754931838
print(np.random.rand(5)) # [0.79861558 0.77161657 0.10240633 0.18145666 0.18268349]
print(np.random.rand(5)) # [0.55146993 0.99197069 0.58937765 0.16679697 0.88486444]
print(np.random.rand(10)) 
'''
[0.43815338 0.03309074 0.54009194 0.23642148 0.85678237 0.34152224
 0.04706807 0.8066691  0.1128149  0.73037809]
'''
print(np.random.rand(10))
'''
[0.53798894 0.07039651 0.94805038 0.74520054 0.80186419 0.14363312
 0.49417189 0.77970705 0.48733768 0.91077558]
'''

 

  • seed() - 특정 숫자로 알고리즘 시작
np.random.seed(0)
print(np.random.rand())
print(np.random.rand(5))
print(np.random.rand(5))
print(np.random.rand(10))
print(np.random.rand(10))

 

  • n차원의 배열도 생성 가능
print(np.random.rand(5))
'''
[0.26280915 0.95087927 0.76109739 0.12304613 0.21998026]
'''
print(np.random.rand(3,4))
'''
[[0.17961117 0.46683557 0.40024576 0.5791938 ]
 [0.8003788  0.96458008 0.07863164 0.8306279 ]
 [0.27809168 0.99780092 0.94507343 0.19599629]]
'''

 

  • randn() - 표준 정규 분포
print(np.random.randn(5))
# [-1.63268792  0.44493634 -1.67004418  0.59269834  0.43414005]

 

  • randint() - 정수

       np.random.randint(low,high=None,size=None)
       high : 최대 나올 수 있는 값
       size : 크기

# high 미입력
print(np.random.randint(10)) # 6
print(np.random.randint(10, size=3)) # [7 7 4]

# high 입력
print(np.random.randint(10,20,size=3)) # [11 11 14]
print(np.random.randint(10,20, size=(2,3)))
'''
[[17 14 10]
 [18 11 17]]
'''

순서 바꾸기

x = np.arange(10)
np.random.shuffle(x)
print(x) # [6 9 3 5 2 7 8 0 4 1]

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 구독, 공감 부탁드립니다.