데이터분석에서 가장 중요한 데이터전처리. 데이터 전처리에서 가장 선행되는게 결측치제거이다.
0이라는 값은 상황에 따라 그 자체로 유의미한 값일 수도, 잘못된 값일 수도 있다.
'해당 직원이 자격증이 몇개있을까?'에 관한 데이터일때는 '0개'인게 답이 될수 있다. 그러나, '키가 몇 cm인가?' '몸무게가 몇cm인가?' 라는 질문에 '0'은 잘못된 대답이니 일단 NaN으로 만들어준다. 이래야 제거하기 쉽다.
np.Nan으로 한거라 numpy는 import를 해줘야된다.
isnull : 결측값이 있으면 True를 내보낸다
notnull : isnull과 반대 결측값이 있으면 False를 내보낸다
df.isnull().sum() : isnull은 sum이랑 같이 써서 column별로 결측값이 몇개있는지를 파악할 수 있다.
이게 맨 처음 데이터를 파악할 때 df.info()만큼 중요하다.
df.dropna()는 그냥 어떤 곳에서든지 NaN이 있으면 행을 다 지워버린다.
subset으로 column을 지정해주면, 해당 column의 NaN이 있을시에 행을 지워준다.
subset의 column은 list형식으로 2개이상 적는것도 가능한데 OR조건이다. 하나라도 있으면 행을 지운다
+++ 원래 dropna는 NaN이 하나라도 열에 있으면 열하나를 통째로 삭제하는데
how='all' 매개변수를 입력해주면 열에 모든 값이 NaN일때만 열을 삭제한다.
df.fillna : 결측치에 해당값을 채운다. 아래 예시는 결측치를 mean으로 채움
fillna를 최빈값으로 채우기
'파이썬. 데이터분석 > Pandas' 카테고리의 다른 글
Pandas DataFrame : del / drop 행, 열 삭제, 특정행 삭제 (0) | 2022.06.24 |
---|---|
Pandas DataFrame : apply, lambda (0) | 2022.06.22 |
Pandas DataFrame : duplicated, drop_duplicates 중복제거 (0) | 2022.06.21 |
Pandas DataFrame : replace (0) | 2022.06.20 |
Pandas DataFrame : 데이터 바꾸기 (0) | 2022.06.19 |