공부한 내용 (8장)
- 자료형 다루기
- 카테고리 자료형
# astype 메서드
# seaborn 라이브러리의 tips 데이터 불러오기
import pandas as pd
import seaborn as sns
tips = sns.load_dataset("tips")
tips['total_bill'] = tips['total_bill'].astype(str) -> 자료형을 문자열로 변환하기
# to_numeric 메서드 -> errors 인자
# raise : 숫자로 변환할 수 없는 값이 있으면 오류 발생
# coerce : 숫자로 변환할 수 없는 값을 누락값으로 지정
# ignore : 아무 작업도 하지 않음
# downcast : 정수, 실수와 같은 자료형을 더 작은 형태로 만들 때 사용
--------
tips_sub_miss = tips.head(10)
(+ 데이터의 훼손을 피하기 위해 새로운 변수에 데이터프레임을 저장)
tips_sub_miss.loc[[1, 3, 5, 7], 'total_bill'] = 'missing'
- missing이라는 문자열을 실수로 변환하는 방법을 모르기때문에
total_bill 열의 데이터를 실수로 변환하려하면 오류 발생
1. tips_sub_miss['total_bill'].astype(float)
2. pd.to_numeric(tips_sub_miss['total_bill'])
------------
# ignore
tips_sub_miss['total_bill'] = pd.to_numeric(tips_sub_miss['total_bill'], errors='ignore')
print(tips_sub_miss.dtypes)

# coerce
tips_sub_miss['total_bill'] = pd.to_numeric(tips_sub_miss['total_bill'], errors='coerce')
print(tips_sub_miss.dtypes)

# downcast
tips_sub_miss['total_bill'] = pd.to_numeric(tips_sub_miss['total_bill'], errors=coerce', downcast='float')
print(tips_sub_miss.dtypes)

# 카테고리 자료형
# 장점과 특징
- 용량과 속도 면에서 매우 효율적
- 주로 동일한 문자열이 반복되어 데이터를 구성하는 경우에 사용
ex)
tips['sex'] = tips['sex'].astype('str')
print(tips.info( ))

tips['sex'] = tips['sex'].astype('category')
print(tips.info( ))

--> 데이터의 크기가 10.7+ 에서 9.1+로 줄어드는 것을 확인할 수 있음.
자료형을 자유 자재로 다루고, 또한 데이터 크기를 줄여가며 효과적으로 데이터를 사용하는 방법에 배우게 되었다.
꼭 필요한 메서드이니, 잘 숙지해야겠다고 생각하였다 : ) 오늘의 공부 끝
'Python > python_pandas 입문 [책]' 카테고리의 다른 글
| [python_pandas 입문] 공부 # 7일차 (2) | 2021.02.03 |
|---|---|
| [python_pandas 입문] 공부 # 5일차 (0) | 2021.01.18 |
| [python_pandas 입문] 공부 # 4일차 (0) | 2021.01.15 |
| [python_pandas 입문] 공부 # 3일차 (0) | 2021.01.10 |
| [python_pandas 입문] 공부 # 2일차 (0) | 2021.01.09 |
댓글