Notice
Recent Posts
Recent Comments
Link
말랑말랑제리스타일
사이킷런 SimpleImputer 사용해서 Nan 값 채우기 본문
데이터 분석을 하다보면 Nan 값 즉, 비어있는 값을 자주 보게 됩니다.
이런 Nan 값을 채우기 위해서 fillna 또는 SimpleImputer를 사용할 수 있는데요.
차이점은 SimpleImputer의 경우 이름처럼 Simple 하기 때문에 fillna보다 자유도가 떨어지는 대신 간단하게 값을 채울 수 있습니다.
예를 들어 SimpleImputer는 groupby 기능을 지원하지 않죠.
SimpleImputer 사용방법
그럼 지금부터 본격적으로 SimpleImputer를 사용해 Nan 값을 채우는 방법을 보여드리겠습니다.
import pandas as pd
from sklearn.impute import SimpleImputer
#사이킷런의 SimpleImputer Import
my_imputer = SimpleImputer()
#imputer 생성
imputed_df = pd.DataFrame(my_imputer.fit_transform(df))
#Nan이 채워진 DataFrame 생성
여타 사이킷런 라이브러리의 객체처럼 변수에 생성자를 입력해서 SimpleImputer 객체를 생성합니다.
그리고 fit_transform(기존 DataFrame) 메서드를 이용해서 빈값을 채운 DataFrame을 다시 만들어줄 수 있습니다.
앞에 사용한 코드에는 SimpleImputer에 파라미터를 넣지 않았는데 이런 경우 디폴트 파라미터가 들어갑니다.
SimpleImputer 파라미터
사이킷런의 SimpleImputer에서는 총 6개의 파라미터가 사용되고 모두 디폴트 파라미터 값이 존재합니다.
- missing_values : default 값은 np.nan으로 비어있는 값을 채우게 되고 필요시 다른 값을 빈값으로 인식하게 할 수 있습니다.
- strategy : 채울 값에 대한 함수로 디폴트 파라미터 값은 mean 즉, 산술평균값이 됩니다. 필요시 "median"(중앙값), "most_frequent"(최빈값 : 가장 많이 나온 값), "constant"(따로 지정한 값) 으로 사용할 수 있습니다.
- fill_value : strategy가 "constant"인 경우 여기에 값을 넣어 동일한 값으로채워줄 수 있습니다.
- verbose : 디폴트는 0으로 출력하지 않고 1인 경우 자세히 출력, 2인 경우 간단히 출력해줍니다.
- copy : 디폴트는 True로 True인 경우 복사본을 만들어서 채워주고 False로 지정하면 원 DataFrame에 채워줍니다.
- add_indicator : 디폴트는 False로 원래 비어있던 값인지 아닌지를 구분하는 구분자 컬럼을 추가할지 여부입니다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
파이썬 lambda 함수의 뜻과 사용방법 (0) | 2022.02.16 |
---|---|
파이썬 랜덤 숫자 뽑기로 중복 없이 숫자 뽑기 (0) | 2022.02.15 |
파이썬 삼항연산자 사용 방법 및 중복 사용 (0) | 2022.01.27 |
Decisiontreeclassifier 함수의 파라미터 random_state란? (0) | 2022.01.26 |
[Pandas] 두개의 DataFrame Join (0) | 2022.01.24 |
Comments