# numpy 불러오기
import numpy as np
np.array()
: 입력된 객체를 ndarray로 변환ndarray.shape
: 차원과 크기를 (row, col) 튜플 형태로 반환 (단 1차원은 (개수,))ndarray.ndim
: 차원ndarray.dtype
: 데이터 타입 (1가지만 올 수 있음)ndarray.astype()
: 데이터 타입 변경#예시 코드 array_int = np.array([1, 2, 3]) array_float = array_int.astype('float64') print(array_float, array_float.dtype) # [1. 2. 3.] float64
np.arange()
: range()
와 비슷#예시 코드 sequence_array = np.arange(10) print(sequence_array) # [0 1 2 3 4 5 6 7 8 9]
np.zeros()
: 모든 값을 0으로 채운 ndarray 반환np.ones()
: 모든 값을 1로 채운 ndarray 반환#예시 코드 zero_array = np.zeros((3,2),dtype='int32') print(zero_array) # [[0 0] # [0 0] # [0 0]]
ndarray.reshape()
: ndarray를 특정 차원 및 크기로 변환#예시 코드 array1 = np.arange(10) array2 = array1.reshape(-1,5) # 5열 -> 2행 print('array2 shape:',array2.shape) # (2, 5)
특정 데이터 [], [,]
슬라이싱 [:], [start:end, ...] -> (start) ~ (end-1)
** 2차원에서 인덱스 하나만 지칭할 경우, row 기준으로 반환
팬시 인덱싱: 리스트로 위치 지정
불린 인덱싱: 조건에 대해 True인 인덱스 값만 저장하여 조회
#예시 코드 array1d = np.arange(start=1, stop=10) array3 = array1d[array1d > 5] print('array1d > 5 불린 인덱싱 결과 값 :', array3) # [6 7 8 9]
np.sort()
: 원본 변경 Xndarray.sort()
: 원본 변경 O, 반환 Nonenp.sort()[::-1]
np.argsort()
: 행렬 정렬 시 원본 행렬의 인덱스 반환#예시 코드 name_array = np.array(['John', 'Mike', 'Sarah', 'Kate', 'Samuel']) score_array= np.array([78, 95, 84, 98, 88]) sort_indices_asc = np.argsort(score_array) print('성적 오름차순 정렬 시 score_array의 인덱스:', sort_indices_asc) # [0 2 4 1 3] print('성적 오름차순으로 name_array의 이름 출력:', name_array[sort_indices_asc]) # 팬시 인덱스 적용 # ['John' 'Sarah' 'Samuel' 'Mike' 'Kate']
np.dot(A, B)
: 행렬 내적(A, B 행렬 곱)np.transpose(A)
: 전치행렬, 행과 열의 위치 교환