본문 바로가기
반응형

2019/08/074

Numpy 연산(sum, mean, std, exp, vstack, hstack)과 axis의 의미 sum() - 배열의 모든 요소들의 합을 구함 arr = np.array([1,2,3,4,5]) arr.sum(dtype=np.float) 15 sum(axis=0) - axis 어떤 축을 기준으로 연산할 것인가 지정. (3, 4)의 shape인 행렬을 axis=0으로 지정하면 row를 기준으로 연산 axis=1으로 지정하면 column을 기준으로 연산 shape의 가장 앞부터 0 다음 예는 (3,2,4) 행렬의 sum 연산이다. arr = np.array([ [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]], [[1, 2, 3, 4], [5, 6, 7, 8]]]) arr.shape (3, 2, 4) print(arr.sum(axis=0)) [[ 3.. 2019. 8. 7.
Numpy 배열 생성 방법(arange, zeros, ones, random) arange() - 파이썬의 range와 같음 np.arange(숫자) np.arange(최저값, 최고값, 스텝) 리스트와 다르게 소수를 step으로 할 수 있음 np.arange(0, 5, 0.5) np.arange(20).reshape(4,5) zeros() - 모든 요소가 0인 배열 np.zeros(shape=(10,), dtype=np.int8) np.zeros((3,4)) ones() - 모든 요소가 1인 배열 np.ones(shape=(10,), dtype=np.int8) np.ones((3,4)) empty() - 모든 요소가 비어있는 배열 생성 어떤 값으로 초기화 하지 않고 메모리만 잡아주기 때문에 현재 메모리에 있는 값 그대로 사용 np.empty(shape=(10, ), dtype=np.. 2019. 8. 7.
Numpy 요소선택 인덱싱, 슬라이싱 (indexing, slicing) 넘파이 인덱싱 인덱싱은 배열의 요소에 접근하는 방법이다. 첫번째 행의 두번째 열의 값이라면 arr = np.array([[1, 2, 3, 4],[5, 6, 7, 8]]) arr[0][1] 2 2가 선택된다. 아래와 같이 ,콤마로 구분해서 선택할 수 도 있다. arr[0,1] 2차원 배열이기 때문에 하나의 숫자만 입력하면 행 전체가 선택된다. arr[0] array([1, 2, 3, 4]) 배열의 범위를 벗어나게 되면 Index 오류가 뜬다. arr[5][1] IndexError: index 5 is out of bounds for axis 0 with size 2 고차원의 배열도 가장 바깥쪽의 대괄호부터 선택하면 된다. arr = np.array([[[1, 2, 3, 4], [5, 6, 7, 8]], [.. 2019. 8. 7.
Numpy shape 변환 (reshape, flatten) Numpy 배열의 shape 변환 (reshape(), flatten()) arr.reshape() reshape 할 때는 총 개수가 맞아야 한다. 즉 size가 같아야 shape을 변환할 수 있음 아니면 ValueError: cannot reshape array of size x into shape (x, x) 에러가 발생한다. (2, 4) 배열 생성 arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) array([[1, 2, 3, 4], [5, 6, 7, 8]]) 8행으로 shape 변환 arr.reshape(8,) array([1, 2, 3, 4, 5, 6, 7, 8]) 4행 2열의 shape 변환 arr.reshape(4,2) array([[1, 2], [3, 4], .. 2019. 8. 7.
반응형