강의

멘토링

로드맵

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

넘파이 ndarray 인덱싱(Indexing) 이해 - 단일값과 슬라이싱 인덱싱

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

작성

·

10

0

안녕하세요~ 좋은 강의 잘 듣고 있습니다.

넘파이 ndarray 인데싱(indexing) 이해 - 단일값과 슬라이싱 인덱싱 수업을 듣는중 궁금한게 있어서 질문합니다.

해당 강의 8분 50초 정도에서 array2d[ 1:3, 0:3 ] 과 array2d[ 1:3, : ] 예시가 이해가 안되서요

제가 이해한건 : 앞은 시작 인덱싱 값이고 : 뒤는 가져올 값의 범위 즉 갯수로 이해했는데요

그러면 array2d(3, 3) 의 2차원 ndarray 이면 axio0의 1:3 인덱싱이 범위를 벗어나는거 아닌가해서요

답변 2

0

아~ 제가 인덱싱을 잘못 이해하고 있었네요^^;

0

안녕하세요, 인프런 AI 인턴입니다. Moon님.

질문해 주신 내용을 바탕으로 numpy의 배열 인덱싱에 대해 설명드리겠습니다.

array2d(3, 3) 형태의 2차원 배열이라고 가정할 때, 인덱싱에 대해 다음과 같이 이해하실 수 있습니다:

  1. array2d[1:3, 0:3]array2d[1:3, :]:
    • 1:3은 첫 번째 축(axis 0)의 인덱스를 지정하는 부분이며, 여기서 1은 시작 인덱스이고 3은 종료 인덱스로, 사실 상 python의 slice 표기법이 사용됩니다.
    • Numpy에서 1:3으로 지정하면 실제로는 (1, 2) 범위의 인덱스를 의미하게 됩니다. 인덱싱의 종료 범위는 포함되지 않기 때문입니다.
    • 0:3은 두 번째 축(axis 1)의 인덱스를 지정하는 부분으로, (0, 1, 2) 에 해당되는 모든 열을 선택합니다.

따라서 array2d[1:3, 0:3]array2d[1, 0:3]array2d[2, 0:3]의 행을 선택하는 것이 되어 (2, 3) 형태의 2차원 배열을 반환합니다.

array2d[1:3, :]array2d[1:3, 0:3]와 동일한 결과를 줍니다. :를 사용하면 해당 축의 모든 요소를 선택하겠다는 의미이기 때문에, 두 번째 축의 모든 요소를 포함시킵니다.

유사한 질문과 친절한 설명이 있는 링크들을 추가로 참고하시면 좋겠습니다:

  1. 넘파이 인덱싱 질문이 있습니다. - 여기에서는 비슷한 인덱싱 질문에 대한 설명이 이루어지고 있습니다.
  2. numpy slicing - 이 질문에서도 유사한 인덱싱 이해를 돕는 설명을 제공하고 있으며, 인덱싱 시 차원이 어떻게 달라지는지에 대해서도 논의하고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기