728x90
미래연구소 http://futurelab.creatorlink.net/
import numpy as np
Numpy indexing & slicing
a = np.arange(36).reshape(6,6)
a
--출력--
array([[ 0, 1, 2, 3, 4, 5],
[ 6, 7, 8, 9, 10, 11],
[12, 13, 14, 15, 16, 17],
[18, 19, 20, 21, 22, 23],
[24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35]])
1) Indexing
a[3,5]
--출력--
23
2) Slicing
a[3:6, 3:6]
--.출력--
array([[21, 22, 23],
[27, 28, 29],
[33, 34, 35]])
a[2:6:2, 3:6]
--출력--
array([[15, 16, 17],
[27, 28, 29]])
3) Fancy Indexing
a[[2,5]]
--출력--
array([[12, 13, 14, 15, 16, 17],
[30, 31, 32, 33, 34, 35]])
a[[2,5], [2,5]] #a[2, 2]와 a[5, 5]를 indexing 하는 것과 같다.
--출력--
array([14, 35])
a[(2,5), (2,5)]
--출력--
array([14, 35])
np.sum 심화
a = np.arange(20).reshape(4,5)
a
--출력--
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19]])
a.shape
--출력--
(4, 5)
a.ndim # ndim은 대괄호의 개수로 세면 파악하기 편합니다.
--출력--
2
1) axis=None
np.sum(a)
--출력--
190
2) axis=0
1> 행이 고정된 채 원소들끼리 더해지는 연산
2> 연산 이후 shape은 행 부분이 없어진다.
np.sum(a, axis=0)
--출력--
array([30, 34, 38, 42, 46])
np.sum(a, axis=0).shape
--출력--
(5,)
np.sum(a, axis=0).ndim
--출력--
1
3) axis=1
1> 열이 고정된 채 원소들끼리 더해지는 연산
2> 연산 이후 shape은 열 부분이 없어진다.
np.sum(a, axis=1)
--출력--
array([10, 35, 60, 85])
np.sum(a, axis=1).shape
--출력--
(4,)
np.sum(a, axis=1).ndim
--출력--
1
keepdims
말 그대로 차원(dimension)이 유지(keep)되는 연산이다.
np.sum(a, axis=0, keepdims = False) #이 연산은 np.sum(a, axis=0)와 동일
--출력--
array([30, 34, 38, 42, 46])
np.sum(a, axis=0, keepdims = True)
--출력--
array([[30, 34, 38, 42, 46]])
차원이 유지되며 대괄호가 2개가 되었다.
np.sum(a, axis=1, keepdims = False) #이 연산은 np.sum(a, axis=1)와 동일
--출력--
array([10, 35, 60, 85])
np.sum(a, axis=1, keepdims = True)
--출력--
array([[10],
[35],
[60],
[85]])
마찬가지로 차원이 유지되었다.
np.sum(a, axis=1, keepdims = False).ndim
--출력--
1
np.sum(a, axis=1, keepdims = True).ndim
--출력--
2
728x90
'Computer Science > Deep Learning' 카테고리의 다른 글
미래연구소 딥러닝 6주 차 (0) | 2020.08.16 |
---|---|
미래연구소 딥러닝 5주 차 (0) | 2020.08.09 |
미래연구소 딥러닝 4주 차 (0) | 2020.08.02 |
미래연구소 딥러닝 3주 차 ( Numpy 특강 2) (0) | 2020.07.25 |
미래연구소 딥러닝 3주 차 (0) | 2020.07.25 |