zeros
0으로 채워진 numpy 배열을 만든다.
1 2 3 4 5 6
| np.zeros([3, 3])
array([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.]])
|
ones
1로 채워진 numpy 배열을 만든다.
1 2 3 4 5 6
| np.ones([3, 3])
array([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.]])
|
arange
하나의 값만 입력하면 1씩 증가하는 1차원 배열을 만든다.
1 2 3 4
| np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
|
두 개의 인자를 넣으면 입력한 값의 범위만큼 배열을 만든다.
1 2 3 4
| np.arange(4, 9)
array([4, 5, 6, 7, 8])
|
reshape
1차원 배열의 차원 수를 바꿀 때 사용된다.
1 2 3 4 5 6
| np.arange(9).reshape(3, 3)
array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
|
Index
기본적으로 python 에서 쓰는 방식과 동일하다.
1 2 3 4 5
| arr = np.arange(9).reshape(3, 3) arr[1]
array([3, 4, 5])
|
Slicing
다차원 배열의 원소 중 복수 개를 접근하기 위해 사용한다.
1 2 3 4 5 6
| arr = np.arange(9).reshape(3, 3) arr[1:]
array([[3, 4, 5], [6, 7, 8]])
|
1 2 3 4 5
| arr[1:, 1:]
array([[4, 5], [7, 8]])
|
Boolean Indexing
원하는 행 또는 열의 값만 얻을 수 있고, 값들을 변경할 수 있다.
1 2 3 4 5 6 7 8 9 10 11
| data = np.random.randn(3, 3) data <= 0
array([[-0.43152818, -2.40848595, -0.00309727], [ 0.74972847, 0.18525482, -0.39854904], [ 1.09053126, 0.32096086, 0.31703319]])
array([[ True, True, True], [False, False, True], [False, False, False]])
|
1 2 3 4
| data[data <= 0]
array([-0.43152818, -2.40848595, -0.00309727, -0.39854904])
|
1 2 3 4 5 6
| data[data <= 0] = 1
array([[1. , 1. , 1. ], [0.74972847, 0.18525482, 1. ], [1.09053126, 0.32096086, 0.31703319]])
|
Broadcast
연산하려는 서로 다른 두 개의 행렬의 shape가 같지 않고, 한쪽의 차원이라도 같거나 또는 값의 개수가 한 개 일 때 이를 여러 복사를 하여 연산한다.
1 2 3 4 5 6 7
| arr = np.arange(9).reshape(3, 3) arr + 3
array([[ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]])
|
1 2 3 4 5 6
| arr * 3
array([[ 0, 3, 6], [ 9, 12, 15], [18, 21, 24]])
|
1 2 3 4 5 6
| arr + np.array([1, 2, 3])
array([[ 1, 3, 5], [ 4, 6, 8], [ 7, 9, 11]])
|
Math Function
배열 연산에 대해 여러 가지 예제다.
1 2 3 4 5 6
| arr + 5 arr * 5 arr + arr
np.add(arr, 1) np.multiply(arr, 3)
|
1 2 3 4 5 6 7 8 9 10
| np.sum(arr) np.sum(arr + arr_2) np.sum(arr, 0)
np.max(arr) np.max(arr, 0)
np.min(arr)
np.mean(arr)
|
1 2 3 4 5 6 7 8 9 10
| arr = np.array([1, 6, 3, 7, 3, 2, 9, 0, 2]) np.argmax(arr)
6
np.argmin(arr)
7
|
1 2 3 4 5
| arr = np.array([3, 5, 6, 6, 3, 3, 1]) np.unique(arr)
array([1, 3, 5, 6])
|