array()
: 인자를 받아 ndarray로 변환arange()
: 연속된 숫자(정수)를 ndarray로 변환 예) np.arange(10): 0~9의 숫자를 ndarray로 만듦zeros()
: shape 값을 입력하면 0으로 채운 뒤 해당 shape를 가진 ndarray를 반환ones()
: shape 값을 입력하면 1로 채운 뒤 해당 shape를 가진 ndarray를 반환reshape()
: 차원, 크기 변환array2d[ :2, 0 ]
: 한 쪽은 슬라이싱, 한쪽은 단일을 적용해도 된다.array2d[ [0, 1], 0:2 ]
반환하는 인덱싱 방식array3 = array1d[ array1d > 5 ]
: [ ] 안에 조건 넣기boolean_indexes = np.array([False, False, False, False, False, True, True, True, True])
array3 = array1d[boolean_indexes]
: 위의 거랑 같음indexes = np.array([5,6,7,8])
array4 = array1d[ indexes ]
: 위의 거랑 같음행렬 정렬(기본적으로 list와 비슷)
np.sort(ndarray)
: 원행렬은 유지, 정렬된 행렬 반환 ⇒ 기본 오름차순, [::-1]로 내림차순np.sort( )[::-1]
: 내림 차순 정렬시 슬라이싱 사용ndarray.sort( )
: 원행렬을 정렬, None 반환(원행렬을 sort하여 inplace 됨)ndarray[::-1].sort( )
: 사실상 슬라이싱으로 순서를 바꾸는 거2차원 이상 행렬 정렬 : axis값 이용해서 row 방향, col 방향 정렬
sort_array2d_axis0 = np.sort(array2d, axis=0)
: row 방향 정렬 (axis=0)sort_array2d_axis1 = np.sort(array2d, axis=1)
: col 방향 정렬 (axis=1)정렬 행렬의 인덱스 반환 : 원본 행렬이 정렬 됐을 때, 기존 행렬 원소에 대한 인덱스가 피요할 때
np.argsort(ndarray)
: 원본 행렬 정렬 시, 행렬 인덱스 값 반환org_array = np.array([ 3, 1, 9, 5]) sort_indices = np.argsort(org_array) print(type(sort_indices)) print('행렬 정렬 시 원본 행렬의 인덱스:', sort_indices)
np.argsort(ndarray)[: : -1]
: 원본 행렬 내림차순 정렬시, 행렬 인덱스 값 반환org_array = np.array([ 3, 1, 9, 5]) sort_indices_desc = np.argsort(org_array)[::-1] print('행렬 내림차순 정렬 시 원본 행렬의 인덱스:', sort_indices_desc)
# [그 값이 뜻하는 메타 데이터] 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)
print('성적 오름차순으로 name_array의 이름 출력:', name_array[sort_indices_asc])`
*>> 성적 오름차순 정렬 시 score_array의 인덱스: [0 2 4 1 3]
성적 오름차순으로 name_array의 이름 출력: ['John' 'Sarah' 'Samuel' 'Mike' 'Kate']*
np.dot( A, B )
: 행렬 곱(내적)np.transpose(A)
: 전치 행렬