핵심:
random.rand(), random.randint(), sum(), mean(), std(), var()
dot(), transpose(), linalg()
난수 무작위 추출
- np.random.rand(a, b, c): 0부터 1사이의 실수를 랜덤으로 추출 후 배열. 1, 2, 3차원 모두 가능함
- np.random.randint(c, d, n): c와 d 사이의 n개의 정수를 랜덤으로 추출 후 배열. 이때 d는 포함 안 됨
- 이때 n에 정수 대신 (e, f) 같은 방식으로 tuple을 넣어 배열을 만들 수 있다.
더보기
np.random.rand(2)
"""array([0.19517298, 0.74078605])"""
np.random.rand(2, 3, 4)
"""
array([[[0.05838049, 0.77316909, 0.43440915, 0.79715024],
[0.21047321, 0.63574471, 0.75975147, 0.9792842 ],
[0.39140929, 0.87225704, 0.94180161, 0.18698488]],
[[0.58026044, 0.37524648, 0.07291529, 0.58106713],
[0.8274608 , 0.71057556, 0.38917515, 0.42376158],
[0.57083032, 0.25009017, 0.75198329, 0.21797765]]])
"""
np.random.randint(1, 100, 5)
"""array([40, 86, 65, 28, 33])"""
np.random.randint(1, 100, (2, 3, 4))
"""
array([[[71, 83, 87, 39],
[11, 60, 17, 25],
[59, 17, 96, 51]],
[[93, 71, 46, 54],
[26, 50, 47, 55],
[21, 27, 35, 16]]])
"""
배열의 연산
- 합, 평균, 표준편차, 분산, 최솟값, 최댓값, 누적합, 누적곱 메서드가 존재한다
- 기술통계량(Descipttive Statistic): 현재 데이터 상태를 표현하는 통계량
더보기
arr3 = np.arange(5)
print(f'arr3는 {arr3}')
print(arr3.sum())
print(arr3.mean()) #평균
print(arr3.std()) #표준편차
print(arr3.var()) #분산
"""
arr3는 [0 1 2 3 4]
10
2.0
1.4142135623730951
2.0
"""
행렬연산
더보기
A = np.array([2, 3, 4, 5]).reshape(2, 2)
B = np.array([6, 7, 8, 9]).reshape(2, 2)
print(A)
print(B)
"""
[[2 3]
[4 5]]
[[6 7]
[8 9]]
"""
# 행렬의 곱셈
A.dot(B)
"""
array([[36, 41],
[64, 73]])
"""
# 배열의 곱셈 기능도 존재함
a = np.array([2, 3, 4, 5])
b = np.array([6, 7, 8, 9])
a.dot(b)
"""
110
"""
#전치행렬 -> 행렬의 행과 열을 바꾼 행랼
A.transpose()
"""
array([[2, 4],
[3, 5]])
"""
#역행렬
np.linalg.inv(A)
"""
array([[-2.5, 1.5],
[ 2. , -1. ]])
"""
'IT학습 > Library' 카테고리의 다른 글
[pandas] DataFrame 기본연산, 기본 기술통계 (0) | 2024.01.12 |
---|---|
[pandas] Series 데이터 구조, 날짜 데이터 (0) | 2024.01.12 |
[numpy] 배열의 조건문, numpy 조건문 (0) | 2024.01.08 |
[numpy] 배열의 인덱싱, 슬라이싱 (0) | 2024.01.08 |
[numpy] 배열 생성, 배열 차원 바꾸기, 배열 데이터 타입 변경하기 (0) | 2024.01.08 |