https://opentutorials.org/course/4570/28989
부록1: 데이터를 위한 팁 - 생활코딩
수업소개 데이터 타입의 문제와 NA값의 문제를 해결하는 데이터 전처리 방법을 배웁니다. 강의 소스코드 colab | backend.ai ########################### # 라이브러리 사용 import pandas as pd ###################
opentutorials.org
20강 데이터를 위한 팁
- 변수(칼럼) 타입 확인 : 데이터.dtypes
- 변수를 범주형으로 변경: 데이터['칼럼명'].astype('category')
- 변수를 수치형으로 변경:
- 데이터['칼럼명'].astype('int')
- 데이터['칼럼명'].astype('float')
- NA 값의 처리
- NA 갯수 체크: 데이터.isna().sum()
- NA 값 채우기: 데이터['칼럼명'].fillna(특정숫자)
import pandas as pd
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris2.csv'
아이리스 = pd.read_csv(파일경로)
아이리스.head()
# 원핫인코딩
인코딩 = pd.get_dummies(아이리스)
인코딩.head() # 인코딩이 안됨. 품종에 숫자가 들어 있기 때문에 pandas는 품종을 범주형 칼럼으로 인식하지 못함.
print(아이리스.dtypes) #칼럼을 어떤 타입으로 읽어들였는지 출력 -> 품종은 int 로 읽어들임.
# get_dummies가 원핫인코딩 시키는 칼럼들은 타입이 category거나 object type인 경우만 가능
# 품종 타입을 범주형으로 바꾸어 준다.
아이리수['품종'] = 아이리스['품종'].astype('category')
print(아이리스.dtypes)
# 다시 원핫인코딩
인코딩 = pd.get_dummies(아이리스)
인코딩.head()
## NA값을 체크 (Not Available) -> 그대로 모델에 넣으면 에러 발생. 지우거나 다른 숫자로 바꿔주어야 함
아이리스.isna().sum() #칼럼마다 NA값의 개수 출력
# NA값에 꽃잎폭 평균값을 넣어주는 방법
mean = 아이리스['꽃잎폭'].mean()
아이리스['꽃잎폭'] = 아이리스['꽃잎폭'].fillna(mean)
'스터디📖 > ML, DL' 카테고리의 다른 글
Tensorflow 이미지 분류(CNN) - 1, 2, 3, 4강 데이터와 차원 & 이미지 데이터 이해 (0) | 2021.09.28 |
---|---|
Tensorflow (python) - 21강 부록2: 모델을 위한 팁 (0) | 2021.09.28 |
Tensorflow (python) - 18, 19강 네번째 딥러닝 - 신경망의 완성:히든레이어 (0) | 2021.09.28 |
Tensorflow (python) - 14, 15, 16, 17강 세번째 딥러닝 - 아이리스 품종 분류 (0) | 2021.09.01 |
Tensorflow (python) - 13강 학습의 실제 (0) | 2021.08.27 |