본문 바로가기

Language/Python

Numpy_Indexing, Slicing, Operator

- Numpy Indexing, Slicing

 

import numpy as np

# 인덱싱 슬라이싱
lst = np.array([[1,2,3],[4,5,6],[7,8,9]])

slicing_lst = lst[:2,:2]
print(slicing_lst) # [[1,2],[4,5]]
print(lst[1]) # [4,5,6]

기본 문법과 동일하다. 


- Numpy Operator

 

## 연산

a = np.array([1,2,3])
b = np.array([4,5,6])

# 각 요소 더하기
c = a+b # c = add(a,b)
print(c) # [5,7,9]

# 각 요소 곱하기 np.multiply(a,b)
print(a*b) # [4,10,18] 

# 각 요소 나누기 np.divide(a,b)
print(a/b) # [0.25, 0.4, 0.5]

같은 크기의 배열간의 사칙연산은 원소별로 계산된다.

+,-,*,/ 도 가능하고, 함수로 add(), subtract(), multiply(), divide()로도 가능하다.

 

우리가 원하는 연산은 행렬곱이나 통계에서 사용되는 값을 Output으로 받고싶다.

# 행렬곱 np.dot

arr1 = [[1,2],[3,4]]
arr2 = [[5,6],[7,8]]
a = np.array(arr1)
b = np.array(arr2)

c = np.dot(a,b)
print(c) # [[19 22] [43 50]]

# 모든 원소의 합, 곱 sum(), prod()
a = np.array([[-1,2,3],[3,4,8]])
print(np.sum(a)) # 19
print(np.sum(a,axis=0)) # [2 6 11]

print(a.mean()) # 3.1666... mean
print(a.std()) # 2.671... standard
print(a.prod()) # -576 product

행렬곱은 dot()

모든 원소의 합: sum()

모든 원소의 곱: prod()

평균: mean()

표준편차: std()

로 구한다.

'Language > Python' 카테고리의 다른 글

Pandas 심화  (0) 2023.02.26
Pandas_Operations&function, Sort  (0) 2023.02.26
Pandas_Series, DataFrame  (0) 2023.02.24
Numpy_Broadcasting, masking  (0) 2023.02.23
Numpy_Create Array  (0) 2023.02.23