각 array의 차원을 확인
ndarray.dim
array내 데이터값의 타입 변경
astype()
array 차원과 크기 변경
reshape()
reshape에 -1 인자 사용
array1 = np.arange(10)
array2 = array1.reshape(-1, 5)
array3 = array1.reshape(5, -1)
print(array2.shape)
print(array3.shape)
(2, 5)
(5, 2)
-1 인자는 고정된 n개의 row, col에 맞는 값을 고정으로 갖고 나머지들을 배치
따라서
10개의 인자를 나눌 수 없는 (4,-1)은 오류 발생
tolist()
메서드를 이용해서 리스트로 변환
[-1]
맨 뒤의 데이터 값
[-2] ... 뒤에서 2번째, [-3]...
: 기호로 슬라이싱
:3 (=0:3)
0~2번째
3:
3번째부터 끝까지
:
처음부터 끝까지
2차원에서도 당연히 가능
리스트나 ndarray로 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray를 반환
[[0,1], 2]
row: [0, 1]
col: 2
row에서 col 값인 2에서 반환해라
->(0,2),(1,2)
[[0,1],0:2]
((0,0), (0,1)),((1,0),(1,1)) 인덱싱 적용
row[0,1] 에서 col 0, 1, 2 반환해라
-> [[1,2],[4, 5]]
for문을 돌리지 않고 참 거짓 값 분리 가능
array1d = np.arange(start=1, stop=10)
array3 = array1d[array1d>5]
print('array1d > 5 boolean indexing: ', array3)
array1d > 5 boolean indexing: [6, 7, 8, 9]
array1d > 5
array([False, False, False, False, False, True, True, True, True])
bool값 출력
array3 = array1d[boolean_index]
[6, 7, 8, 9]
Ture값인 것들만 출력해서 array3에 넣음
np.sort(): 원본 행렬 변경하지 않음
ndarray.sort(): 원본 행렬 자체를 정렬한 값으로 반환
::-1 인자 사용하면 내림차순
np.argsort()
정렬된 행렬 인덱스 값
np.dot()
행렬끼리 내적
너무 당연한 말이지만 왼쪽 행렬의 열 개수와 오른쪽 행렬의 행 개수가 같아야 오류 안남
차원 축소 중 하나인 PCA 주성분 분석에서 주로 사용
transpose()
전치행렬 가능