ML/NumPy

N차원 배열의 형태 변경
배열의 형태 변경 reshape(): 배열의 형태변경 함수 arr = np.arange(12) print(arr, arr.ndim) # [ 0 1 2 3 4 5 6 7 8 9 10 11] 1 arr = arr.reshape((3,4)) arr = arr.reshape(3,-1) # 자동으로 -1을 4로 계산함 print(arr, arr.ndim) # [[ 0 1 2 3] # [ 4 5 6 7] # [ 8 9 10 11]] 2 arr = arr.reshape((2,3,2)) print(arr, arr.ndim) # [[[ 0 1] # [ 2 3] # [ 4 5]] # [[ 6 7] # [ 8 9] # [10 11]]] 3 Curse of Dimensionality (차원의 저주) 주로 빅데이터를 다루거나 ..

N차원 배열의 연산
배열 연산 배열끼리 연산을 진행할 시 배열간의 shape이 동일해야 한다. arr1 = np.array([[1,2,3], [4,5,6], [7,8,9]]) arr2 = np.array([[2,2,2], [2,2,2], [2,2,2]]) # 덧셈 print(arr1+arr2) print(np.add(arr1,arr2)) # 뺄셈 print(arr1-arr2) print(np.subtract(arr1,arr2)) # 곱셈 print(arr1*arr2) print(np.multiply(arr1,arr2)) # 나눗셈 print(arr1/arr2) print(np.divide(arr1,arr2)) # 제곱 print(arr1**2) print(np.square(arr1)) # 제곱근 print(np.sqrt(a..
N차원 배열의 인덱싱, 정렬
배열의 인덱스 접근 # 1차원 배열 arr = np.array([0,1,2,3,4,5,6,7,8,9]) # arr = np.arange(10) print(arr) print(arr[3]) # [0 1 2 3 4 5 6 7 8 9] # 3 # 2차원 배열 arr = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]]) print(arr[0, :]) # 0번째 행에서 모든 열의 값 print(arr[:, 2]) # 모든 행에서 2번째 열의 값 print(arr[:3, :]) # 0~2행에서 모든 열의 값 print(arr[:2, 2:]) # 0~1행에서 2부터 끝열까지 값 # 출력 결과 [1 2 3 4] [ 3 7 11] [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 1..

N차원 배열 생성
N차원 배열 다차원 배열을 사용하는 이유? 데이터를 처리할 때 데이터가 숫자들의 배열로 이루어져 있기 때문이다. ndarray n차원에 따라 구분된 배열의 형태 1차원: axis 0 기준 2차원: axis 0(행), axis 1(열) 기준 3차원: axis 0(차원), axis 1(행), axis 2() 기준, 3차원 이상의 배열은 tensor 라고도 불림 ✔️축 개념 쉽게 이해하기 배열은 단지 리스트의 중첩이다. 축은 가장 바깥 리스트에서 안쪽 리스트 순으로 0부터 이름을 붙인 것이다. [[1,2,3], [4,5,6]] 이라는 2차원 배열을 보자. axis0(행)은 [1,2,3] → [4,5,6] 으로 진행되는 방향이다. axis1(열)은 1→2→3, 4→5→6 으로 진행되는 방향이다. [[[1,2],..