인프런 커뮤니티 질문&답변

녕나님의 프로필 이미지
녕나

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

넘파이 ndarray 인덱싱(Indexing) 이해 - 팬시와 불린 인덱싱

넘파이 인덱싱 질문이 있습니다.

작성

·

112

0

array=np.array([[1,2,3],[4,5,6],[7,8,9]])

에서 row=0인 [[1,2,3]]을 뽑고 싶은데

print(array[0]) 이렇게 하면 [1,2,3]의 1차원 (3,0) ndarray가 나오는데 만약 [[1,2,3]] 인 2차원 (1,3)으로 뽑고 싶으면

array[0:1]  이렇게 말고 더 쉬운 방법은 없을까요??

애초에 array[0]으로 했는데 왜 1차원 array로 반환해주는 것인가요? 어떤 경우에 굳이 2차원을 1차원으로 줄여서 반환하는 것이 편리한지 궁금합니다.

답변 1

3

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

개인적인 인지의 차이가 있는것 같습니다.

array[0]과 같이 단일값 인덱싱을 사용해서 원본 array에서 차원이 하나 줄어드는 array를 반환하는 것이 저는 큰 문제가 아니라고 생각합니다. : 와 같은 연속 인덱싱을 이용하면 거기에 맞는 차원을 반환하는 것이  좋다고 바람직 하다고 생각합니다. 단일 인덱싱이나 연속 인덱싱이냐의 차이에 따라 차원을 줄이던가, 아니면 원래 해당하는 차원을 반환하는 것이 더 직관성이 있다고 생각합니다. 

감사합니다.

녕나님의 프로필 이미지
녕나

작성한 질문수

질문하기