파이썬(Python)13 넘파이 / numpy 5 - 선형대수, 저장 및 로드, 압축 - 데이터 준비 - x = np.array([ [1,2,3], [4,5,6] ]) y = np.array([ [6,11], [-1,9], [8,2] ]) x, y numpy 선형대수 - dot(내적곱), matmul(행렬곱) np.dot(x, y) = x.dot(y) : 내적곱을 계산합니다. np.matmul(x, y) : 행렬곱을 계산합니다. numpy 저장 및 로드 np.save('파일명', 배열) : 배열을 저장할 수 있습니다. 1. np.save('x', x) 로 x 배열을 x의 이름으로 저장합니다. 2. 작업하고 있는 폴더에 x.npy 파일이 생성됩니다. np.load('파일명') : 저장된 배열을 불러올 수 있습니다. x1 = np.load('x.npy') x1 numpy 배열 압축 np.sa.. 2021. 8. 4. 넘파이 / numpy 4 - 축 변경, 유니버셜 함수 - 데이터 준비 - arr = np.arange(15).reshape((3,5)) arr, arr.shape, arr.dtype arr2 = np.arange(24).reshape((2,3,4)) arr2, arr2.shape numpy 축 변경 => T .T : 단순 교환과 2차원 교환 까지는 T로 해결가능합니다. arr.T, arr.shape arr2.T, arr2.T.shape # T는 무조건 대칭점으로 반점됩니다. numpy 축 변경 => transpose .transpose() : 다차원 교환은 transpose로 해결가능합니다. arr.transpose(), arr.transpose().shape arr.transpose((1,0)), arr.transpose((1,0)).shape # 1번 .. 2021. 8. 4. 넘파이 / numpy 3 - 데이터 추출(인덱싱, 슬라이싱), 스칼라값 수정, 배열 재정립 인덱싱, indexing, 색인 특징 - 차원축소가 일어납니다. - 1차 배열을 인덱싱하면 스칼라가되고, 2차 배열을 인덱싱하면 1차 배열이 됩니다. arr = np.array([[1,2,3], [4,5,6], [7,8,9]]) arr, arr.ndim arr[0], arr[0].ndim # 2차원 배열을 인덱싱하면 1차 배열이 된다. arr[2][2], arr[-1][-1], arr[2][2].ndim # 2차원 배열을 두번 인덱싱하면 스칼라가 된다. 불리언 인덱싱 arr >= 5 # 배열의 모든 원소들에 접근하여서 0과 비교하여 T/F 값으로 돌려줍니다 arr[arr>=5] # 불리언 인덱싱 결과 차원이 축소되었습니다. t = (arr >= 5) & (arr copy # 원소 1개 값을 연산해서 수정.. 2021. 8. 3. 넘파이 / numpy 2 - 배열타입, 배열 랜덤 생성, 기본 연산 numpy 배열 타입 numpy 배열의 모양을 만들 때 => empty # np.empty() : 배열의 모양이 중요하고, 값은 0이나 1로 초기화하지 않습니다. arr = np.empty(4, dtype='u4') arr numpy 임의의 값으로 배열 생성 => random # np.random.randn() : 표준편차 1의 가우시안 표준정규분포 난수를 생성 a = np.random.randn(2, 2) a # np.random.rand() : 표준편차 1의 가우시안 표준정규분포 난수를 생성 b = np.random.rand(2, 2) b # np.random.randint() : 램덤 숫자 1개 뽑기 # 1~5 사이의 숫자 중 랜덤으로 하나 뽑기 c = np.random.randint(1, 6) n.. 2021. 8. 3. 이전 1 2 3 4 다음