Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 퀀트 투자 책
- 경력기술서 첨삭
- AutoML
- 커리어전환
- 대학원
- 경력 기술서
- 머신러닝
- 판다스
- pandas
- 퀀트
- 데이터 분석
- 과제전형
- 자기소개서
- 파이썬
- 데이터사이언스학과
- 주식데이터
- 사이킷런
- 주요 파라미터
- 데이터 사이언티스트
- 하이퍼 파라미터
- 랜덤포레스트
- 코딩테스트
- 데이터분석
- 데이터사이언스
- 주가데이터
- 데이터사이언티스트
- 하이퍼 파라미터 튜닝
- sklearn
- 이력서 첨삭
- 데이터 사이언스
Archives
- Today
- Total
GIL's LAB
ValueError: could not convert string to float 본문
데이터 분석을 하다 보면 ValueError: could not convert string to float라는 에러를 만날 수 있습니다.
이 에러는 숫자로 변환할 수 없는 문자열이 포함된 경우 발생합니다.
예시를 보겠습니다
import numpy as np
arr = np.array(["1.23", "4.56", "hello", "7.89"])
arr = arr.astype(float)
[실행 결과]
ValueError: could not convert string to float: 'hello'
해결 방법은 간단합니다. 숫자로 변환할 수 없는 문자열은 숫자로 안바꾸는 것입니다.
다만 결측이 문자열로 표시된 경우가 있습니다.
Kaggle에서 대표적인 문제인 Telco Churn Prediction(링크)에도 비슷한 경우가 있습니다.
TotalCharges란 컬럼이 그러한데, 이는 결측을 적당한 숫자로 바꿔주면 해결됩니다.
참고로 해당 컬럼이 결측인 이유는 실제 거래가 없어서이므로 0으로 대체해주면 됩니다.
즉, 다음과 같이 코드를 만들어줄 수 있습니다.
df['TotalCharges'] = df['TotalCharges'].replace({'':0}).astype(float)
'파이썬 > 환경설정 및 오류 해결' 카테고리의 다른 글
Scikit-learn NotFittedError (0) | 2023.08.07 |
---|---|
ValueError: too many values to unpack, ValueError: not enough values to unpack 해결 방법 (0) | 2023.08.07 |
파이썬 개발 환경 구축: 아나콘다와 주피터 노트북 (1) | 2022.01.09 |
주피터 노트북 실행 결과 초기화 방법 (0) | 2021.09.05 |
주피터 노트북 기본 경로 설정, 브라우저 설정, 기타 오류 해결 (0) | 2021.09.03 |
Comments