Python ProgrammingError: nan can not be used with MySQL

pandas DataFrame의 NaN은 Python의 부동소수점 값이고, MySQL의 NULL과는 다르다. 드라이버가 NaN을 SQL 값으로 변환하지 못하면 ProgrammingError가 발생할 수 있다.




NaN을 None으로 바꾸기

import pandas as pd

df = df.where(pd.notnull(df), None)




DB에 넣기 전 대상 열의 타입과 결측값 정책을 먼저 정한다. 숫자 0과 값이 없음을 같은 의미로 취급하면 안 되므로, 실제로 값이 없을 때만 None으로 변환한다.

Comments

댓글을 불러오고 있습니다.