오늘은 처음으로 미라클 모닝을 하였다. 아침에 조금이라도 일찍 일어나기 힘든 사람이지만 최근에 읽은 책을 읽고 아침의 시간을 소중히 보내기로 했다. 시작에는 효과가 미약하지만 더나은 내가 될 수 있을 거라고 믿는다.
고성능 과학 계산용 패키지
메모리 효율적
for문을 쓰지 않고 배열 처리 가능
shape : numpy array 의 object의 dimension 구성 (matrix 형태)
dtype : numpy array의 데이처 type 을 반환함
ndim : numder of dimension
size : data의 갯수
reshape ★
data 갯수만 맞추면 됨
flatten
다차원 array를 1차원 array로 변환
test_exmaple = np.array([[1, 2, 3], [4.5, 5, 6]], int)
test_exmaple[0][0] # 1
test_exmaple[0,0] # 1
test_exmaple[0,0] = 10 # Matrix 0,0 에 12 할당
test_exmaple[0][0] = 5 # Matrix 0,0 에 12 할당
test_exmaple = np.array([[1,2,5,8],[1,2,5,8],[1,2,5,8], [1,2,5,8]], int)
test_exmaple[:2,:] # 전체 Row의 2열
test_exmaple[:,1:3] # 1 Row의 1~2열
test_exmaple[1,:2] # 1 Row ~ 2 Row의 전체
test_exmaple[1,1:3] # 1 Row의 1열 ~ 2열
축을 기준으로 붙인다.
array 간의 기본적인 사칙 연산을 지원함
matrix 구조가 같은지 확인하고 기본 연산을 함
특정 조건에 따른 값을 배열 형태로 추출함
a = np.array([[1, 4]], float)
b = np.array([0, 0, 1, 1, 0], int)
a[b] # array([ 1., 1., 4., 4., 1.])
# b를 row index, c를 column index로 변환하여 표시함
a.take(b) -> take 함수 : bracket index와 값은 효과 ★
Numpy의 기능들은 신기했다. c언어로 했으면 복잡하게 구현할 수 있는데 연산들은 쉽게 한줄로 끝낼 수 있다는 게 재미있었다. matrix 구조를 이해하는 것이 어려움이 있었지만 예제를 통해서 극복할 수 있다고 생각한다.