반응형
2021.01.04 공부한 내용
1. Numpy 설치하기, array
numpy를 설치하는 방법을 알아보자
Linux, Max 기준으로 terminal을 실행시킨후 아래 명령어를 입력하면 된다.
pip install numpy
- 설치한 numpy를 불러오기
import numpy as np
- numpy의 array 불러오기
arr = np.array([1,2,3])
- numpy의 array 차원 알아보기
arr.shape
2. Numpy의 연산
Vector와 Vector 또는 Vecotr와 Saclar 사이의 연산
(Saclar 일떄)벡터의 각 원소에 대해서 연산을 진행!
(Vector 일때)벡터의 같은 인덱스끼리 연산이 진행!
x = np.array([1,2,3])
c = 5
print("더하기 : {}".format(x + c))
print("빼기 : {}".format(x - c))
print("곱하기 : {}".format(x * c))
print("나누기 : {}".format(x / c))
<결과>
더하기 : [6 7 8]
빼기 : [-4 -3 -2]
곱하기 : [ 5 10 15]
나누기 : [0.2 0.4 0.6]
Array의 Indexing
Array에서 특정범위의 원하는 원소를 가지고 오고 싶다면? python의 list와 유사하게 진행
- list일때 : ex) a = [[1,2,3],[4,5,6]] a[0][0] = 1
- array일때 : ex) a = [[1,2,3],[4,5,6]] a[0,0] = 1
Array의 Slicing
W = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
In [37]: W[0:2,1:3]
Out[37]: array([[2, 3],
[6, 7]])
In [40]: W[0:2,:] #W[0:2,0:4]와 같음
Out[40]: array([[1, 2, 3, 4],
[5, 6, 7, 8]])
Array의 Broadcastring
- numpy가 연산을 진행하는 특수한 방법이다.
- 기본적으로 같은 type의 data에 대해서만 연산이 적용 가능, 하지만 만약에 피연산자가 연산 가능하도록 변환이 가능하다면 연산이 가능합니다. 이를Broadcasting 이라고 합니다.
Broadcast 조건 - M by N, M by 1
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
x = np.array([0,1,0])
x = x[:,None] # x 전치
print(x)
print(a+x)
- M by N, 1 by N
y = np.array([0,1,-1])
print([a*y])
- M by 1, 1 by N
t = np.array([1,2,3]) # 열벡터로 바꿔줘야함
t = t[:,None] # Transpose
u = np.array([2,0,-2])
print(t+u)
참고 사이트
'AI_Bootcamp' 카테고리의 다른 글
1주차 DAY5 파이썬으로 데이터 다루기 (T.I.L) chap 1 (0) | 2022.01.07 |
---|---|
1주차 DAY4 파이썬으로 데이터 다루기 (T.I.L) (0) | 2022.01.06 |
1주차 DAY3 파이썬으로 데이터 다루기 (T.I.L) chap 2 (0) | 2022.01.05 |
1주차 DAY3 파이썬으로 데이터 다루기 (T.I.L) chap1 (0) | 2022.01.05 |
1주차 DAY2 파이썬으로 데이터 다루기 (T.I.L) chap 2 (0) | 2022.01.04 |