개발공부

데이터 전처리 기초 #1 Nan처리하기 본문

Python/Machine Learning

데이터 전처리 기초 #1 Nan처리하기

mscha 2022. 5. 6. 17:35

학습을 위해 데이터를 Train과 Test 영역으로 나눠보자.

 

아래와 같은 데이터 프레임이 있다.

 

먼저 해당데이터에 Nan이 있으면 나중에 학습을 하는데 문제가 발생하니

여러가지 방법으로 Nan을 처리해야 한다.

 

먼저 데이터에 Nan이 있는지 확인해보자.

>>> df.isna().sum()
Country      0
Age          1
Salary       1
Purchased    0
dtype: int64

 

Age 컬럼과 Salary에 각 1개의 Nan이 있는 것을 확인할 수 있다.

이를 처리 해보자.

 

Nan이 있는 행 삭제 dropna()

df = df.dropna()
df

dropna()를 해서 Nan이 있는 행을 삭제할 수 있다.

 

Nan을 각 컬럼의 평균 값으로 변경

 df[ 컬럼명 ].fillna( df[ 컬럼명 ].mean() )

df[['Age', 'Salary']] = df[['Age', 'Salary']].fillna(df[['Age', 'Salary']].mean())
df