1-1. 헬로 파이썬
이번 챕터에서는 파이썬, 넘파이 matplotlib에 대한 내용을 다룬다.
파이썬 부분은 건너뛰도록 하겠다!!
Numpy
- 배열/행렬 계산
- 넘파이의 배열 클래스인
numpy.array
에는 편리한 메서드가 많아 딥러닝 구현할 때 많이 이용!
넘파이 가져오기
numpy.array
에는 편리한 메서드가 많아 딥러닝 구현할 때 많이 이용!넘파이는 외부 라이브러리이기 때문에 사용하기 위해서는 import 해와야 한다.
import numpy as np
파이썬에서는 라이브러리를 읽기 위해서는 import 문을 사용해야 한다.
위의 코드는 numpy를 np라는 이름으로 가져오라는 뜻이다.
넘파이 배열 생성
np.array()
: 파이썬의 리스트를 인수로 받아 넘파이 라이브러리가 제공하는 특수한 형태의 배열(numpy.ndarray)을 반환한다.
>>> x = np.array([1.0, 2.0, 3.0])
>>> print(x)
[1. 2. 3.]
>>> type(x)
<class 'numpy.ndarray'>
넘파이 산술 연산
>>> x = np.array([1.0, 2.0, 3.0])
>>> y = np.array([2.0, 4.0, 6.0])
>>> x + y # 원소별(element-wise) 덧셈
array([3., 6., 9.])
>>> x - y
array([-1., -2., -3.])
>>> x * y # elsement-wise product
array([2., 8., 18.])
>>> x / y
array([0.5, 0.5, 0.5])
📌 배열 x와 y의 원소 수가 같아야 한다!
넘파이 배열은 원소별 계산뿐 아니라 넘파이 배열과 수치 하나(스칼라값)의 조합으로 된 산술 연산도 수행 가능!
➡️ 브로드캐스트 (아래에서 자세히 다루자)
넘파이의 N차원 배열
2차원 배열(행렬)을 작성해보자.
>>> A = np.array([[1, 2], [3, 4]]) # 2x2 행렬
>>> print(A)
[[1 2]
[3 4]]
>>> A.shape # 행렬의 형상
(2, 2)
>>> A.dtype # 행렬에 담긴 원소의 자료형
dtype('int64')
>>> B = np.array([[3, 0], [0, 6]])
>>> A + B
array([[ 4, 2],
[ 3, 10])
>>> A * B
array([ 3, 0],
[ 0, 24]])
>>> A * 10
array([[ 10, 20]
[ 30, 40]])
형상
: 행렬을 포함한 N차원 배열에서 그 배열의 '각 차원의 크기(원소의 수)' ➡️shape
으로 알 수 있다.
행렬에 담긴 원소형은dtype
으로 알 수 있다.
벡터(vector)
: 1차원 배열
행렬(matrix)
: 2차원 배열
텐서(tensor)
: 벡터와 행렬을 일반화한 것
이 책에서는 2차원 배열을행렬
, 3차원 이상의 배열을다차원 배열
이라고 한다.
브로드캐스트 (broadcast)
>>> x = np.array([1.0, 2.0, 3.0])
>>> x / 2.0
array([0.5, 1., 1.5])
>>> A = np.array([[1, 2], [3, 4]])
>>> B = np.array([10, 20])
>>> A * B
array([[ 10, 40],
[ 30, 80]])
원소 접근
matplotlib
단순한 그래프 그리기
pyplot의 기능
이미지 표시하기
정리
Author And Source
이 문제에 관하여(1-1. 헬로 파이썬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bbirong/1장.-헬로-파이썬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)