<잘못 입력한 데이터 처리하기>
데이터에서 1,3,5,7 행의 total_bill 열의 데이터를 missing으로 바꿔서 새로 저장해줌
그리고 나서 보면 missing(얘가 문자열)으로 인해 total_bill이 object 문자열로 바뀌었다는걸 알 수 있음.
▶ 그래서 astype(float)로 바꿔주고 싶어도 문자열을 실수로 변환할 수 있는 방법은 얘가 할 수 없음.
그래서 to_numerice 메서드를 사용할 수 있음. (사실 얘도 변환할수는 없지만 어느정도 제어는 ㄱㄴㄱㄴ)
errors인자에 설정할 수 있는 값:
- raise : 숫자로 변환할 수 없는 값이 있으면 오류 발생 (기본설정은 이거)
- coerce : 숫자로 변환할 수 없는 값을 누락값으로 지정
- ignore : 아무 작업도 하지 않음. (오류는 발생하지만 자료형도 변하지않지)
https://pandas.pydata.org/docs/reference/api/pandas.to_numeric.html?highlight=to_numeric
pandas.to_numeric — pandas 2.0.3 documentation
Can be ‘integer’, ‘signed’, ‘unsigned’, or ‘float’. If not None, and if the data has been successfully cast to a numerical dtype (or if the data was numeric to begin with), downcast that resulting data to the smallest numerical dtype possib
pandas.pydata.org
--> errors 인자값에 ignore를 줬을 때 (결국 안바뀌었댜 ☆)
--> errors 인자값에 coerce 을 줬을때 강제로 float를 유지하긴함. 그러니 NaN으로 나옴
- 그리고 downcast라는 인자도 있지. 정수와 실수과 같은 자료형을 더 작은 형태로 만들 때 사용
--> 인자에는 integer, signed, unsigned, float 등의 값을 사용가능함.
그래서 float 64에서 32로 내렸음.
>>float64는 32보다 더 많은 범위의 실수를 표현할 수 있지만 메모리 공간을 2배나 차지
---> 만약 저장하는 실수의 범위가 크지 않다면 다운 캐스트 하는 것을 추천.
'데이터분석 > Pandas&Numpy' 카테고리의 다른 글
Numpy tolist 메서드 (0) | 2023.07.04 |
---|---|
pandas 특수한 자료형 - 카테고리 (0) | 2023.07.03 |
pandas 자료형 astype()를 사용해 자유자재로 변환하기 (0) | 2023.07.03 |
pandas 중복 데이터 처리하기 합쳐서 처리하기 (0) | 2023.06.29 |
pandas 여러개 분리된 열을 깔끔하게 데이터 정리 하는 방법 (0) | 2023.06.29 |