IT's 우

생활코딩, 머신러닝야학_데이터를 위한 팁(astype(), dtypes, isna().sum(), fillna()) 본문

생활코딩/머신러닝(텐서플로우(python))

생활코딩, 머신러닝야학_데이터를 위한 팁(astype(), dtypes, isna().sum(), fillna())

디우 2021. 1. 15. 01:20
728x90

데이터 타입의 문제와 NA값의 문제를 해결하는 데이터 전처리 방법

 

 

###########################
# 라이브러리 사용
import pandas as pd

###########################
# 파일 읽어오기
파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/master/csv/iris2.csv'
아이리스 = pd.read_csv(파일경로)
아이리스.head()

# 원핫인코딩 되지 않는 현상 확인


인코딩 = pd.get_dummies(아이리스)
인코딩.head()



###########################
# 칼럼의 데이터 타입 체크
print(아이리스.dtypes)

품종의 데이터 타입이 범주형이 아니므로 웟한인코딩이 안되는 것을 확인한다.

###########################
# 품종 타입을 범주형으로 바꾸어 준다.
아이리스['품종'] = 아이리스['품종'].astype('category')
print(아이리스.dtypes)

품종의 데이터 타입이 category로 바뀐 것을 알 수 있다!!!!

 

 

# 카테고리 타입의 변수만 원핫인코딩
인코딩 = pd.get_dummies(아이리스)
인코딩.head()


NA 값의 처리


###########################
# NA값을 체크해 봅시다.
아이리스.isna().sum()


아이리스.tail()


***Pandas에서 데이터를 확인하는 간단하고 단순한 방법 중에 head와 tail메서드가 있다.

head 메서드는 데이터의 상단부분, tail 메서드는 데이터의 하단부분만 출력하여 보여준다.

 


###########################
# NA값에 꽃잎폭 평균값을 넣어주는 방법
mean = 아이리스['꽃잎폭'].mean()
print(mean)
아이리스['꽃잎폭'] = 아이리스['꽃잎폭'].fillna(mean)
아이리스.tail()

출처: 생활코딩

728x90
반응형