Page 36 -
P. 36
이제 결측값 문제를 어떻게 해소할 수 있는지 알아보자. 먼저 다음 코드를 실행해 어떤 칼럼에 결
측값이 있는지 알아낼 수 있다.
print(df.isnull().any())
그림 1-19 결측값 여부 확인
당연하게도 sepal_length에 결측값(즉, 널(null))이 있다고 나왔다. 이처럼 판다스를 사용해 결측
값이 어떤 칼럼에 있는지 간편하게 확인할 수 있다.
결측 문제를 해결하는 가장 쉬운 방법은 해당 로우를 제거하는 것이다. 이 기능은 판다스의
dropna 함수가 지원한다.
print("Number of rows before deleting: %d" % (df.shape[0]))
df2 = df.dropna()
print("Number of rows after deleting: %d" % (df2.shape[0]))
그림 1-20 결측값이 있는 로우 제거
또는 결측값을 sepal_length 칼럼의 평균값으로 대체할 수 있다.
df.sepal_length = df.sepal_length.fillna(df.sepal_length.mean())
Note 판다스의 df.mean() 함수는 결측값을 제외한 평균을 계산한다.
결측값이 제대로 처리됐는지 다시 확인해 보자.
print(df.isnull().any())
48
신경망교과서_07.indd 48 2020-05-19 오전 9:04:33