플로라도의 data workout

데이콘 submission제출 오류 해결 케이스 공유 - 기타 제출값 Error가 발생하였습니다., CSV 파일의 Row Error가 발생하였습니다. 본문

기초 노트/기타

데이콘 submission제출 오류 해결 케이스 공유 - 기타 제출값 Error가 발생하였습니다., CSV 파일의 Row Error가 발생하였습니다.

플로라도 2024. 4. 29. 23:47

 

데이콘의 지난 대회에 submission을 제출하며 테스트하던 중에 '기타 제출값 Error가 발생하였습니다.'를 마주하였다.

원인은 제출하려고 하는 submission.csv 파일에 예측치로 Null값이 포함되어 있었기 때문이었다.

 

 # DataFrame의 index와 칼럼인 'label'이 모두 '가'라는 값(value)로 설정됨
submit[~cond]['label'] = '가' 

 # loc를 사용하여 조건에 해당하는 행을 인덱싱하여야 한다.
submit.loc[~cond, 'label'] = '가'

 

따라서 Null이 포함된 행에는 Null값 대신 임의의 예측값인 '가'를 채워넣어주는 방식으로 submission파일을 수정하려고 하였다.

 

그런데 첫번째 코드를 보면, DataFrame의 index와 칼럼인 'label'이 모두 '가'라는 값(value)로 설정될뿐만 아니라 

일반적으로 DataFrame객체의 [Row-Wise][Column-Wise] 슬라이싱 방식은 새로운 메모리 주소값을 갖는 Copy본을 반환하여 이를 수정하기 때문에 원본 객체에 반영되지 않는다.

 

또한 index까지 모두 '가'로 바뀌었기 때문에 첫번째 코드로 수정을 마치면 index에러의 일종인

'CSV 파일의 Row Error가 발생하였습니다.'가 발생하게 된다.

 

따라서 이러한 경우에는, 두번째 코드처럼 반드시 loc 문법을 활용하여 조건에 해당하는 행을 인덱싱하는 방법을 사용해야 한다.