반응형
❗ 에러 메시지의 정체
데이터 분석 중 이런 에러를 본 적 있나요?
ValueError: could not convert string to float: 'abc'
처음엔 당황스럽지만, 이 에러는 매우 흔합니다.
이유는 간단합니다. 파이썬이 문자열을 숫자로 바꾸지 못해서 그래요.
🔍 원인: 문자열인데 float로 바꾸려 해서
float() 함수나 astype(float)를 사용할 때,
숫자처럼 생기지 않은 문자열이 들어오면 에러가 납니다.
예시:
float('123.45') # ✅ 가능
float('abc') # ❌ ValueError 발생
🧪 자주 발생하는 사례
판다스에서 숫자가 들어간 컬럼처럼 보이지만, 실제로는
쉼표, 문자 등이 섞여 있는 경우가 많습니다.
import pandas as pd
df = pd.DataFrame({
'price': ['1000', '2000', '1,500', 'free']
})
df['price'] = df['price'].astype(float)
결과:
ValueError: could not convert string to float: '1,500'
🛠️ 해결 방법
✔ 방법 1: 쉼표 제거하기
df['price'] = df['price'].str.replace(',', '')
df['price'] = df['price'].astype(float)
✔ 방법 2: 문자 제거하고 숫자만 변환 (에러는 NaN 처리)
df['price'] = pd.to_numeric(df['price'].str.replace(',', ''), errors='coerce')
✅ 마무리 정리
- 이 에러는 문자열을 숫자로 바꾸는 과정에서 발생합니다.
- 특히 쉼표, 문자 등 숫자가 아닌 요소가 섞여 있으면 오류가 납니다.
- 전처리로 깨끗하게 만들거나, 오류를 NaN으로 처리하면 해결됩니다.
반응형
'IT' 카테고리의 다른 글
[에러 해결] TypeError: 'int' object is not subscriptable – 리스트처럼 쓰면 안 돼요! (1) | 2025.06.19 |
---|---|
[에러 해결] KeyError – 존재하지 않는 키라고요? (0) | 2025.06.11 |
tmux란? 💻 (2) | 2024.01.27 |
FastAPI란 무엇일까? 💻 (0) | 2024.01.26 |
구글 플레이스토어 앱 출시(비공개 테스터 20명??) 💻 (0) | 2024.01.25 |