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
반응형