SW 개발/Python
[Python] 에러메시지 분석: "UserWarning: Boolean Series key will be reindexed to match DataFrame index."
DATA101
2022. 2. 7. 08:55
728x90
반응형
⁉️ 에러 상황
아래와 같이 데이터프레임에서 2가지 조건을 만족하는 데이터를 필터링했더니
코드는 잘 돌아가는데 에러 메시지가 출력되었습니다.
- 2018 <= date_year(리뷰 등록연도)
- 5<= review_token_number(리뷰 데이터의 토큰 개수)
dataset_selected = dataset[2018 <= dataset['date_year']][5<=dataset['review_token_number']]['review_raw']
📝 에러 메시지
<ipython-input-17-44462bb117be>:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
dataset_selected = dataset[2018 <= dataset['date_year']][5<=dataset['review_token_number']]['review_raw']
👨💻 원인
에러 메시지를 해석하자면, 데이터프레임의 length가 변형되어 reindexing이 자동으로 발생했다는 의미입니다.
첫 번째 조건에서 length가 변형되었기 때문에 2번째 조건이 제대로 필터링되지 않을 수 있습니다.
코드가 정상적으로 수행되더라도 이러한 이유로 위와 같은 방식은 사용하지 않는 게 좋습니다.
💡 해결방법
이를 해결하기 위해서는 크게 2가지 방법이 있습니다.
✅ 솔루션1: & 연산 활용하기
dataset_selected = dataset[2018 <= dataset['date_year'] & 5<=dataset['review_token_number']]['review_raw']
✅ 솔루션1: Step by Step
2번에 나누어 필터링할 수 있습니다.
dataset_selected1 = dataset[2018 <= dataset['date_year']]
dataset_selected2 = dataset_selected1[5<=dataset_selected1['review_token_number']]['review_raw']
포스팅 내용에 오류가 있다면 아래에 댓글 남겨주세요!
그럼 오늘도 즐거운 하루 보내시길 바랍니다 :)
고맙습니다.
728x90
반응형