본문 바로가기
딥러닝\머신러닝/에러 디버깅

[pandas, DataFrame] ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). 에러해결

by 인포메틱스 2022. 9. 8.
반응형

 

최근 급하게 pandas를 써야되서 기초부터 배우기 보다는 중간중간 찾으면서 일을 진행중에 있는데, 다음과 같은 에러가 떳습니다.

 

# 다음과 같이 진행하였을때,
Filter_mat_1= Filter_mat['img_name'][Filter_mat['variance1']==1&Filter_mat['variance2']!=1]

# 아래와 같은 에러가 뜹니다.
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

 

 이 오류를 구글링을 해보니까. "and", "or" 대신에 "&", "|" 이걸 사용하면된다. 라는 답변을 보았는데, 이미 그걸 쓰고 있는데..... 무슨이유일까 더 찾아보니. tuple안에 넣어줘야 해결이 된다는 것을 확인 하였습니다.

 

# 다음과 같이 진행하면 해결!
Filter_mat_1= Filter_mat['img_name'][(Filter_mat['variance1']==1)&(Filter_mat['variance2']!=1)]
728x90
반응형

댓글