붓꽃 데이터셋을 다시 사용하자. 하지만 붓꽃 데이터셋에는 결측값이 없다. 실습을 위해 값을 임의로 지우고 진행한다. 다음 코드는 로우 열 개를 무작위로 고르고 sepal_length 값을 지운다.
import numpy as np import pandas as pd # 붓꽃 데이터셋을 다시 가져온다 URL = 'https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data' df = pd.read_csv(URL, names = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'class']) # 로우 열 개를 무작위로 고른다 random_index = np.random.choice(df.index, replace= False, size=10) # 무작위로 고른 로우의 sepal_length 값을 None으로 바꾼다 df.loc[random_index,'sepal_length'] = None
이제 결측값 문제를 어떻게 해소할 수 있는지 알아보자. 먼저 다음 코드를 실행해 어떤 칼럼에 결측값이 있는지 알아낼 수 있다.
print(df.isnull().any())
▲ 그림 1-19 결측값 여부 확인