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.
numpy 배열 타입(dtype), 모양(shape), 차원(ndim), 크기(size)
ndarray 생성 - np.array(배열, 타입) arr = np.array([1, 2, 3, 4], float) 데이터 타입 지정시 배열에는 지정한 타입의 데이터만 넣을 수 있음 arr = np.array([1, 2, "a", 3], float) ValueError: could not convert string to float: 'a' arr = np.array([1, 2, "a", True]) 위와 같이 생성시 모든 데이터가 문자열로 인식되고 이는 arr = np.array([1, 2, "a", True], np.str) 과 같음. 각 요소의 데이터 타입을 확인해보면 모두 문자열임. print(type(arr[0]), type(arr[1]), type(arr[2]), type(arr[3])) 형변..
2019. 8. 6.