Python
[Python] NumPy 배열의 연산
새발oi
2022. 3. 5. 17:24
반응형
배열의 연산
배열의 기본 연산
배열의 형태(shape)가 같다면 연산 가능
예제
arr1 = np.array([10, 20, 30, 40])
arr2 = np.array([1, 2, 3, 4])
두 배열의 합은 각 배열의 같은 위치의 원소끼리 더함
두 NumPy 배열의 합을 구하는 예시
arr1 + arr2
Out: array([11, 22, 33, 44])
arr1 - arr2
Out: array([ 9, 18, 27, 36])
arr1 * arr2
Out: array([ 10, 40, 90, 160])
arr1 / arr2
Out: array([10., 10., 10., 10.])
배열의 거듭제곱 예시
arr2 ** 2
Out: array([ 1, 4, 9, 16])
배열의 복합 연산 예시
arr1 / (arr2 ** 2)
Out: array([10. , 5. , 3.33333333, 2.5 ])
배열의 비교 연산 예시
arr1 > 20
Out: array([False, False, True, True])
통계를 위한 연산
배열의 합 | 평균 | 표준 편차 | 분산 | 최솟값 | 최댓값 | 누적 합 | 누적 곱 |
sum() | mean() | std() | var() | min() | max() | cumsum() | cumprod() |
배열 생성
arr3 = np.arange(5)
arr3
Out: array([0, 1, 2, 3, 4])
배열의 합(sum())과 평균(mean()) 예제
[arr3.sum(),arr3.mean()]
Out: [10, 2.0]
표준편차(std())와 분산(var()) 예제
[arr3.std(),arr3.var()]
Out: [1.4142135623730951, 2.0]
최솟값(min())과 최댓값(max()) 예제
[arr3.min(),arr3.max()]
Out: [0, 4]
누적합(cumsum())과 누적곱(cumprod())을 위한 배열 생성
arr4 = np.arange(1,5)
arr4
Out: array([1, 2, 3, 4])
누적합
arr4.cumsum()
Out: array([ 1, 3, 6, 10])
누적곱
arr4.cumprod()
Out: array([ 1, 2, 6, 24])
행렬 연산
행렬 연산 | 사용 예 |
행렬곱(matrix product) | A.dot(B). 혹은 np.dot(A,B) |
전차행렬(transpose matrix) | A.transpose(). 혹은 np.transpose(A) |
역행렬(inverse matrix) | np.linalg.inv(A) |
행렬식(determinant) | np.linalg.det(A) |
행렬 생성
A = np.array([0, 1, 2, 3]).reshape(2,2)
A
Out: array([[0, 1],
[2, 3]])
B = np.array([3, 2, 1, 0]).reshape(2,2)
B
Out: array([[3, 2],
[1, 0]])
A와 B를 이용한 행렬 곱 예제
A.dot(B)
Out: array([[1, 0],
[9, 4]])
np.dot(A,B)
Out: array([[1, 0],
[9, 4]])
행렬 A의 전치 행렬 예제
np.transpose(A)
Out: array([[0, 2],
[1, 3]])
A.transpose()
Out: array([[0, 2],
[1, 3]])
행렬 A의 역행렬
np.linalg.inv(A)
Out: array([[-1.5, 0.5],
[ 1. , 0. ]])
행렬 A의 행렬식
np.linalg.det(A)
Out: -2.0
반응형