행렬 초기화 문법은 벡터와 유사
랜덤 행렬 생성
새로운 버전의 랜덤 행렬 생성
"view"의 의미는 복사하지 않고 그저 주소값만 가져왔다고 생각하면 된다
Einstein summation으로 표기하면
sum(axis=0)은 np.einsum('ij->j', a)
sum(axis=1)은 np.einsum('ij->i', a)
출처:https://stackoverflow.com/questions/48135736/what-is-an-intuitive-explanation-of-np-unravel-index
새로운 축 추가
np.squeeze
이외에도
np.newaxis
를 이용할 수도 있다
이는 []안의 None이 적힌 것처럼 빈 축을 넣는 것
broadcasting 규칙 때문에 1차원 배열은 암묵적으로 2차원 row vector로 간주된다
.flatten()
== .reshape(-1)
np.vstack((a,b))
: 세로(아래쪽)np.hstack((a,c))
: 가로(오른쪽)hstack은 1차원을 붙일 때 주의해야하는데
1차원 배열을 Row vector로 간주하기에 dimension-mismatch error 발생
이럴 때는 column_stack() 사용하자
반대로 (split)