본문 바로가기
DATA Science/DeepLearing from scratch

Numpy - 행렬연산

by Rainbound-IT 2021. 5. 11.
반응형
DeepLearning_from_cratch

Numpy를 처음 접햇을때 리스트를 사용하면되지 굳이? 라는 잠깐의 의문을 가졌으나

배열 연산은 정말로 까다롭고 구현하기 귀찮아서 Numpy가 정말 좋다는걸 느낄수 있엇다. ㅎㅎㅎ

In [26]:
from IPython.core.display import display, HTML

display(HTML("<style>.container { width:90% !important; }</style>"))

#창 맞추기위함

NUMPY

In [8]:
import numpy as np

x = np.array([1.0, 2.0, 3.0])
In [3]:
print(x)
[1. 2. 3.]
In [4]:
type(x)
Out[4]:
numpy.ndarray

별차이가 없어보인다

In [5]:
a=[1,2,3]
b=[2,3,4]
In [6]:
a+b
Out[6]:
[1, 2, 3, 2, 3, 4]
In [7]:
y=np.array([2,4,6])
x+y
Out[7]:
array([3., 6., 9.])

연산이 되지않고 numpy로 만 계산이 가능하다 그래서 쓴다.

브로드 캐스트 - 다른 차원과의 연산

In [12]:
A = np.array([[1,2],[3,4]])
B = np.array([10,20])
A*B
Out[12]:
array([[10, 40],
       [30, 80]])
In [13]:
A+10
Out[13]:
array([[11, 12],
       [13, 14]])

원소 접근

In [15]:
X = np.array([[12,13],[21,22],[31,32]])
In [16]:
X[0]
Out[16]:
array([12, 13])
In [17]:
X[0][0]
Out[17]:
12
In [18]:
for i in X:
    print(i)
[12 13]
[21 22]
[31 32]
In [19]:
X= X.flatten() # X를 1차원 배열로 변환
In [20]:
print(X)
[12 13 21 22 31 32]
In [22]:
X[np.array([0,2,4])] #인덱스로 접근
Out[22]:
array([12, 21, 31])
In [23]:
X>21 #조건을 부여
Out[23]:
array([False, False, False,  True,  True,  True])
In [24]:
X[X>21] #조건에 맞는 원소 출력
Out[24]:
array([22, 31, 32])

코딩테스트때 사용되면 엄청 편리할것같긴한데 못쓰게 할것같긴하다.

반응형

'DATA Science > DeepLearing from scratch' 카테고리의 다른 글

신경망 학습 - 학습 알고리즘 구현  (0) 2021.05.13
신경망 학습  (2) 2021.05.12
신경망  (0) 2021.05.12
퍼셉트론  (0) 2021.05.11
Matplotlib - 그래프  (0) 2021.05.11

댓글