# object에서 숫자로 타입을 변환하고자 함.
>> df3['d'] = df3['d'].apply(pd.to_numeric)
😡ValueError: Unable to parse string "34,659.1" at position 0
#옵션추가로 해결
>> df3['d] = df3['d'].apply(pd.to_numeric, errors = 'coerce')
해결) 옵션 추가 errors = 'coerce'
-> 해당 오류가 뜨는 이유는 문자열 사이에 숫자로 된 문자열이 아닌 문자로된 문자열이 존재해서라고 한다.
오류를 무시하고 문자열을 강제로 숫자형태로 변환(NAN)하면 해결!!이긴 하지만...
나같은 경우에는 육안상 숫자 형태였고 해당 값이 필요하긴 한데 ㅠㅠㅠ 더 고민해봐야겠다.
---> 애초에 groupby를 시킬 때 문자 형태로 sum을 해버려서 ','와 '.'가 섞인채로 합쳐져 숫자로 타입변환을 할 수 없었던 것... 🤢 뭐든지 합치기 전에는 형태를 확인하고 하기 ㅠㅠ
# 이런식으로 천단위 구분자 ','를 제거해주고 타입 변환
df1['sales'] = df1['sales'].replace(',','', regex=True).astype(float)
참고 자료 -DataFrame의 문자열 칼럼을 숫자형으로 바꾸기 : pd.to_numeric(), DataFrame.astype()
'개발 > ETC' 카테고리의 다른 글
이동평균 설명 (0) | 2021.05.10 |
---|---|
[nbviewer] Jupyter Notebook 전체 코드 공유하기 (0) | 2021.05.10 |
[python] 폴더 안 . csv 불러오고 1개의 파일로 만들기 (0) | 2021.05.10 |
[python]엄청 큰 csv파일 읽기 (0) | 2021.05.10 |
[Tesseract-OCR] 이미지에서 원하는 부분만 추출 (0) | 2021.05.10 |