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

김혁수님의 프로필 이미지
김혁수

작성한 질문수

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

2회 기출유형(작업형1)

시험 때 loc iloc 사용

해결된 질문

작성

·

10

0

문제 2번에서 80% 데이터를 활용한다고 할 때 반드시 df = df.iloc[:line] 와 같이 iloc를 사용해야 하나요?

loc를 사용하면 끝값이 포함되어 81%의 데이터가 활용되기 때문에 틀린 것이라 이해하면 될까요?

답변 2

0

퇴근후딴짓님의 프로필 이미지
퇴근후딴짓
지식공유자

단순히 끝 포함여부가 아니라

인덱스 명(번호)가 순서대로가 아니라면 loc는 전혀 다른 값을 도출할 수가 있어요

iloc를 사용해 주세요!

0

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

질문하신 내용은 pandas의 인덱싱 및 슬라이싱 기법인 lociloc에 관련된 주제입니다. iloc는 위치 기반 인덱싱을, loc는 레이블 기반 인덱싱을 사용합니다. 각각의 차이로 인해 데이터 슬라이싱 결과가 다르게 나올 수 있습니다.

슬라이싱에서의 차이점 설명

  • iloc: 명시된 위치에 기반하여 데이터프레임을 슬라이싱합니다. 포함 여부는 자주 혼란을 줄 수 있으며, 기본적으로 마지막 인덱스는 포함되지 않습니다. 예를 들어, df.iloc[:line]line-1 인덱스까지만 데이터를 가져옵니다.
  • loc: 레이블을 기반으로 슬라이싱하며, 밝혀진 끝 레이블도 포함됩니다. 따라서 df.loc[:line]는 지정된 인덱스를 포함하여 데이터를 슬라이싱합니다.

따라서 80%의 데이터를 정확히 사용하려면 iloc를 사용하는 것이 일반적입니다. loc 사용 시엔 데이터가 과다 선택될 수 있습니다.

관련 질문과 추가 정보

이 주제와 관련된 유사한 질문과 답변은 아래의 링크에서도 확인하실 수 있습니다:

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

김혁수님의 프로필 이미지
김혁수

작성한 질문수

질문하기