본문 바로가기
프로그래밍/Python 관련 정보

[Frequently Used Code] Could not convert string to float

by 물박사의 저장공간 2025. 12. 16.

2025.02.24 - [프로그래밍/Python 관련 정보] - [Pandas] Table of Contents


데이터가 이미 잘 규격화(타입, 크기 등) 되어있는 상황이라면 잘 마주하지 않을 문제이지만 현실의 많은 케이스에서는 데이터가 있긴하지만...중간 중간 뭔가 불완전한 요소들이 섞여들어가 있는 경우가 많습니다. 예를 들어 데이터프레임의 칼럼을 실수형으로 바꾸려고 하는데

ValueError("could not convert string to float: "")

 

과 같은 에러를 만나기도 합니다. 

 

원본 데이터에 "$"(통화 값이 칼럼에 기록된 경우에 종종), ","와 같은 특수기호값이 섞여들어가거나 

""와 같은 빈 문자열이 있을때 astype(float)가 작동하지 않습니다. 

 

변환불가능한 값을 NaN처리해주는 pd.to_numeric(errors='coerce')를 사용하면 좋습니다. 

df['amount'] = (
    df['amount']
    .str.replace(r'[$,]', '', regex=True)
    .pipe(pd.to_numeric, errors='coerce')
)