pandas multi index data에서 iloc 사용시 "Too many indexer" 오류가 납니다.

조회수 3114회

https://blog.naver.com/cabilover 에 자세한 내용이 있습니다.

이미지

이미지

(14460, 66) 크기의 data 입니다. 여기에서 'dmss_2'라는 이름의 column의 value를 기준으로 'Hypo ', 'Hyper', 'mixed' NaN으로 주어져 있습니다.6000명에 대한 항목별 데이터가 ID 와 day 두가지의 level 로 multi - index로 정리되어 있습니다. 하려는 것은, 각 ID의 특정 column의 첫번째 value를 기준으로 그룹을 나누려고 한 것이었습니다.이미지

저는 아직 DataFrame 형태에서 indexing이 익숙하지 않아서 series로 바꾼 다음에 해당하는 index list를 구하고 그를 이용해서 selecting 하는 방식을 계속 사용중이라서 우선은 series로 변경합니다. 그리고 처음 나타난 value에 따라서 나누려고 하므로 dropna를 이용해서 NaN을 제거했습니다.

이미지

그랬더니 이렇게 오류가 납니다. stackoverflow에서 iloc으로는 해답이 잘 없고, loc에 대해서도 명확하게 잘 이해가 되지 않네요. https://stackoverflow.com/questions/30781037/too-many-indexers-with-dataframe-loc

결국 목표한 바는 우회하는 방법으로 해결은 했는데, 저 오류가 이해가 잘 안가서 질문드립니다. 답변해주시면 감사하겠습니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 간단하게 오류재현을 할 수 있게 최소한의 코드와 데이터를 올려주시기 바랍니다. 질문자가 올려주신 설명은 같은 데이터를 인지하고 있을때나 유추할 수 있습니다. 정영훈 2018.9.6 19:15
  • 그냥 오류 내용으로 유추해보자면, 오류가 발생하는 시점의 프로세싱된 데이터가 2차원 인덱싱 구조가 아닌데 iloc의 인자로 넘기는 인덱서를 col, row 모두 써서 그런 것 같은 느낌적인 느낌?? 입니다. doodoji 2018.9.7 18:31

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)