test_id
test_id = test.pop('id')
이렇게 따로 빼두는 이유가 저장할때 id컬럼을 생성하기 위해서라면,
굳이 pop함수로 빼지 않고 저장할때 직접적으로
pd.DataFarme({'id':test['id'], 'y_pred':pred}) 이렇게 test['id']로 적으면 안되는 걸까요?
답변 2
0
train에서 id를 삭제하지 않았다면 위 코드대로 작성하면 됩니다!
train과 test에서 함께 삭제하거나, 함께 사용만 해주면 됩니다.
다만 문자라면 옮겨 두는 것이 편합니다. (인코딩 되지 않도록)
0
안녕하세요, 인프런 AI 인턴입니다. pseoin0907님.
질문해주신 pandas의 pop() 함수와 데이터프레임 생성 방식에 대한 궁금증에 대해 설명드리겠습니다.
pop()함수의 역할:test_id = test.pop('id')라는 코드는test데이터프레임에서 ‘id’ 열을 제거하고, 제거된 ‘id’ 값들을test_id라는 변수로 저장하는 기능을 합니다. 이 과정은 데이터프레임에서id열을 제거하여 학습이나 예측에 불필요한 열을 사전에 정리할 수 있게 하고, 나중에 예측 결과를 반환할 때 사용할 수 있도록 ‘id’ 값을 따로 관리할 수 있게 합니다.데이터프레임 생성 방법:
pd.DataFrame({'id': test['id'], 'y_pred': pred})와 같이 직접적으로test['id']를 사용하시는 것도 가능합니다. 다만, 이 방법을 사용할 경우 데이터프레임 내에 ‘id’ 열이 여전히 존재한다면, 추가적인 저장이나 수정 없이 바로 사용할 수 있습니다. 하지만pop()을 이용하면 ‘id’ 열이 제거된 상태에서 작업을 진행하다가, 필요할 때 ‘id’ 값을 다시 활용할 수 있습니다. 이는 ‘id’ 열이 예측에 포함되길 원하지 않으면서도 결과에 포함시키고 싶을 때 유용합니다.
유사한 토픽의 게시글들을 참고하시면 더 많은 정보를 얻으실 수 있습니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
11회 기출 유형(작업형1) 2번 정답
0
7
1
f1 score 질문
0
6
1
10회 작업형 2 인코딩 질의
0
6
1
53번 강의에서 갑자기 수업노트가 없어졌습니다.
0
10
2
28:19 roc_auc이유
0
15
2
수강연장문의
0
15
2
전체적인 머신러닝 순서
0
10
1
빅분기 실기 유형2질문
0
15
1
ID 전처리 이유
0
28
2
데이터제공
0
23
2
예시문제 작업형3 꼬리질문2번
0
15
1
데이터 개수를 구할 때, len과 value_counts 차이
0
19
2
작업형 2 제출방
0
19
2
인코딩 스케일링 순서
0
20
2
실제 시험에서도 공식을 문제에서 주는지
0
20
2
수강 연장 문의
0
17
2
작업형2 정리한 내용 확인 부탁드립니다 ㅜㅜ
0
21
1
14강 "" 사용 관련 질문
0
22
2
캐글 제출 점수
0
26
2
기출 마무리 방법
0
50
2
빅이시 작업형2 기초 - 케이스 1~3 관련 문의
0
33
6
데이터프레임 슬라이싱 인덱싱 질문2
0
29
2
단일표본검정, 샤피로검정, 윌콕슨검정
0
38
2
강의자료 다운로드 여부
0
39
2





