반응형
데이터 불러오기
문제가 있는 열은 total_bill로서, [1, 3, 5, 7]행은 missing이라는 문자열이 들어가 있다.
데이터 타입을 확인해도 숫자가 아닌 object형으로 되어있다.
[목적 : total_bill 컬럼을 float형으로 바꾸기]
astype(), pd.to_numeric()
missing이라는 문자열이 있기 때문에 두 방법 모두 오류 발생
방법1 : replace 이용
missing을 NaN으로 바꾼 뒤 astype 실행
total_bill_replaced 컬럼이 float형으로 바뀐 것을 확인
방법2. pd.to_numeric(errors='coerce') 이용
coerce의 뜻 억압하다, 강요하다와 같이 문자열을 강제로 NaN으로 바꾸면서
동시에 float형으로 만들었다.
* downcast
저장하는 실수의 범위가 크지 않다면 메모리를 줄이기 위해 downcast를 이용할 수 있다.
float64는 float32보다 더 많은 범위의 실수를 표현할 수 있으나
메모리 공간을 2배나 차지한다.
저장하는 실수의 예상 범위가 크지 않다면 다운캐스트 하는 것이 좋다.
데이터 불러오기
origin 컬럼은 1, 2, 3으로 값이 구성되어 있으며
자료형은 int이고 이는 각 국가와 연결되어 있다.
이렇게 숫자로서 큰 의미가 없다면 카테고리형(범주형) 데이터로 표현하는 것이 효율적이다.
replace와 딕셔너리를 이용해 값을 변경했다.
astype을 이용해 범주형 데이터로 바꿨다.
반응형
'Pandas > 전처리' 카테고리의 다른 글
판다스 - 데이터 정규화 (0) | 2020.06.19 |
---|---|
판다스 - 구간 분할 : pd.cut, pd.get_dummies (0) | 2020.06.19 |
판다스 - 데이터 표준화 (단위 환산 : kpl, mpg) (0) | 2020.06.19 |
판다스 - 중복 데이터 처리 : duplicated, drop_duplicates (0) | 2020.06.19 |
판다스 - 누락 데이터 처리 : dropna, thresh, fillna, idxmax, ffill, bfill (0) | 2020.06.18 |