반응형
파이썬 numpy의 array(배열)에 관한 의문
numpy의 배열에 대한 의문은 아래 배열에서 시작되었다.
>>> A=np.array([1,2,[3,4],5])
>>> A
array([1, 2, list([3, 4]), 5], dtype=object)
이게 왜 정의가 되지? 라는 의문이었다. 내가 알던 배열은 벡터, 행렬, ... 로 확장되는 개념이 아니었던가? 저건 뭐지? 라는 의문이었다.
한동안 고민했다. 내가 알던 배열에서 더 확장된 개념이 존재하는 것인가라는...
A를 두번 더해봤다.
>>>A+A
array([2, 4, list([3, 4, 3, 4]), 10], dtype=object)
리스트는 그대로 리스트 연산이 적용된다. 이건뭐지? 이 요소는 뭐라고 불러야 하지?
R과 매트랩에도 배열이 있어서, 비교해 보았다.
[R의 배열 생성방식]
A=array(1:24,dim=c(2,3,4))
[Matlab 의 배열 생성방식]
A=reshape(1:24,[2,3,4])
R이나 매트랩의 경우 위와 같은 문제가 생기지 않는다.
리스트를 기반으로 정의했기 때문에 발생하는 '예외'적 상황이라고 생각해야겠다. 굳의 정의는 가능하지만 배열의 의미는 갖지 않는 그런 상황인걸로.
반응형
'5-2 . Numpy 제공 자료구조 > 소개' 카테고리의 다른 글
파이썬 넘파이(numpy) 패키지 설치 방법 (0) | 2021.10.08 |
---|---|
[파이썬 numpy] numpy 소개 (0) | 2020.10.20 |
댓글