더북(TheBook)

여러 행렬을 곱한다면 단위행렬을 행렬 곱셈 체인의 초깃값으로 사용하자.

내장 함수인 range() 외에도 numpy는 일정한 간격으로 배열된 배열을 만드는 더 효율적인 arange(start, stop, step, dtype=None) 함수를 제공한다.


np_numbers = np.arange(2, 5, 0.25)

np_numbers

>>>

array([2. , 2.25, 2.5, 2.75, 3. , 3.25, 3.5, 3.75, 4. ,

       4.25, 4.5 , 4.75])


range() 함수와 마찬가지로 stop 값은 start보다 작을 수 있다. 하지만 이때 step은 반드시 음수여야 하며, 그 결과로 만든 배열 안의 숫자는 뒤로 갈수록 감소한다.

numpy는 배열을 만드는 시점에 아이템의 타입을 기록하지만, 타입은 변형 가능하다. astype(dtype, casting="unsafe", copy=True) 함수를 사용하면 나중에 데이터 타입을 변형할 수 있다. 하지만 타입 유형을 변형하는 과정에서 일부 정보가 유실될 수도 있는데, 이는 numpy에만 해당하는 것이 아니라 타입을 변형하는 모든 경우에 해당된다.


np_inumbers = np_numbers.astype(np.int)

np_inumbers

>>>

array([2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4])

 


* 단위행렬 대각선의 원소가 모두 1이고, 나머지 원소는 모두 0인 정사각 행렬

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.