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

25mgsong님의 프로필 이미지
25mgsong

작성한 질문수

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

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

넘파이 팬시 인덱싱 질문입니다

작성

·

306

0

array_2d 가 [[1,2,3],[4,5,6],[7,8,9]] 라는 가정 하에서

넘파이 팬시 인덱싱을 통해 array_2d의 꼭지점 값인 1 3 7 9를 도출해 보고 싶었습니다.

따라서 로우의 위치 인덱스의 집합인 [0, 2] 와 칼럼의 위치 인덱스 집합인 [0, 2]를 사용해서

array_2d[[0,2], [0,2]] 형태로 팬시 인덱싱을 시도해 보았으나 [1, 9] 가 출력 되었습니다.

로우 0 과 2, 칼럼 0 과 2의 중복은 1 3 7 9 가 아닌가요?

왜 어째서 [1, 9] 가 출력되는 거죠?

답변 2

0

25mgsong님의 프로필 이미지
25mgsong
질문자

2차원 ndarray에서의 팬시 인덱싱은 2차원 좌표계에서의 대응점에 있는 값을 반환시켜주는 것이군요... 감사합니다! 

0

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

안녕하십니까,

array_2d[[0,2], [0,2]] 에서 [0,2], [0,2] 로 주어지는 행, 열 위치 인덱싱은 (0, 0), (2, 2)의 위치 인덱싱이 되기 때문에 1, 9가 반환 됩니다.

1, 3, 7, 9 를 반환하시려면 array_2d[[0, 0, 2, 2], [0, 2, 0, 2]] 를 적용하시면 됩니다. 

그러면 행,열 위치 인덱싱이 (0, 0), (0, 2), (2, 0), (2,2)에 해당하는 1, 3, 7, 9 값을 반환합니다. 

감사합니다. 

25mgsong님의 프로필 이미지
25mgsong

작성한 질문수

질문하기