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

greyy님의 프로필 이미지
greyy

작성한 질문수

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

피처 엔지니어링

원핫 인코딩 후 분리

해결된 질문

작성

·

330

·

수정됨

0

안녕하세요

섹션3. 피처 엔지니어링
원핫인코딩 후 iloc를 통해 train과 test를 분리할 때

line = int(X_train.shape[0]) 이 부분이 이해가 안 가요

왜 [0]이 train의 마지막 행을 의미하는 것인가요?

답변 1

0

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

하나씩 살펴보겠습니다.

  1. train.shape는 (행의 수, 열의 수)을 반환합니다.

  2. 여기서 shpae[0]는 행의 수 입니다. 만약 행(레코드)가 100개면 100이라는 숫자를 line에 담을 수 있어요!
    (마지막 행을 의미하는 것이 아니라 행의 수를 의미합니다.)

  3. train(100개)에 test(50개)를 더할 경우 합치면 150입니다.

  4. (순서를 섞지만 않는다는 가정) 다시 분리를 시켜야 하는데 위에 train행의 수는 위에서 계산한 대로 100개만 잘라내면 됩니다. train.shape[0]을 써도 되고 len()함수를 활용해 len(train)으로 계산해도 됩니다.

     

혹시 이해가 안되었다면 댓글 추가로 남겨주세요 :) 응원합니다!!

안녕하세요! iloc 관련해서 추가 질문있어 댓글 남깁니다!!

캐글 연습문제 t1-23을보면 10번째값을 찾을때 iloc[9]로 하던데요 (찾을값-1)

여기서 iloc[line:, : ]로 나눈다고 하셨는데 <-이렇게 하면 test데이터의 첫줄까지 포함되는것 아닌가요..?

iloc 개념이 너무 이해가 안가네요ㅠㅠ

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

Iloc[시작인덱스:끝인덱스]

시작인덱스는 포함하는 것이 맞음

끝인덱스는포함하지 않아요(끝인덱스-1)

따라서test데이터의 첫줄을 포함하는 것이 맞습니다 :)

Iloc/loc가 헷갈린다면 판다스 iloc/loc부분 다시 한번 시청해 주세요 !!! 또 질문있으면 연락주세요

greyy님의 프로필 이미지
greyy

작성한 질문수

질문하기