numpy array(넘파이 배열)
* 코드
>>> import numpy as np
>>> x = np.array([1.0, 2.0, 3.0])
>>> print(x)
[1. 2. 3.]
>>> type(x)
<class 'numpy.ndarray'>
>>> y = np.array([2.0, 4.0, 6.0])
>>> x * y
array([2., 8., 18.])
* 표현
- 원소별: element-wise
- 원소별 곱셈: element-wise product
* n차원 배열
>>> A = np.array([[1, 2], [3, 4]])
>>> print(A)
[[1 2]
[3 4]]
>>> A.ahpe
(2, 2)
>>> A.dtype
dtype('int64')
* 원소 접근
>>> X = np.array([[51, 55], [14, 19], [0, 4]])
>>> print(X)
[[51 55]
[14 19]
[ 0 4]]
>>> X[0]
array([51, 55])
>>> X[0][1])
55
>>> for row in X:
... print(row)
...
[[51 55]
[14 19]
[ 0 4]]
>>> X = X.flatten()
>>> print(X)
[51 55 14 19 0 4]
>>> X[np.array([0, 2, 4])] # 인덱스가 0, 2, 4인 원소 얻기
array([51, 14, 0])
>>> X > 15
array([ True, True, False, True, False, False], dtype=bool)
>>> X( X>15)
array([51, 55, 19])
braodcast(브로드캐스트)
- 넘파이 배열과 수치 하나(스칼라값) 산술 연산도 가능
* 코드
>>> x = np.array([1.0, 2.0, 3.0])
>>> x / 2.0
array([0.5., 1., 1.5])
* 코드2
>>> A = np.array([[1, 2], [3, 4]])
>>> B = np.array([10, 20]])
>>> A * B
array([[ 10, 40],
[ 30, 80]])