전처리 과정에서 사용되는 다양한 함수(2)
dropna()
nan값이 있는 행을 제거해주는 함수다.
이 함수에는 몇 가지 옵션을 추가할 수 있는데 먼저 axis가 있다.
(1) axis옵션
dropna(axis=0)을 하면 행을 드랍한다. 반대로
dropna(axis=1)을 주면 열을 드랍한다.
즉 해당 행에 혹은 해당 열에 하나라도 nan값이 있다면 그 행 혹은 열 자체를 삭제해버린다.
(2) how옵션
df.dropna(axis=0, how='any') 처럼 how='any'를 주는 경우 위와 같이 nan값이 한 개라도 있을 때 제거해준다.
df.dropna(axis=0, how='all') 처럼 how='all'은 해당 행에 모두 nan값이 있어야 그 행을 제거한다.
drop_duplicates()
이 함수는 중복된 값을 제거해주는 함수다.
만약에 두 개의 중복된 값이 있다고 했을 때 이 함수를 입력해주면 후자의 값이 삭제된다.
그러나
drop_duplicates(keep='last')와 같이 keep옵션을 넣어 last를 유지할 수 있다. 반면,
drop_duplicates(keep='first')는 전자를 유지할 수 있다.
이 함수를 사용하면 해당 키 값만 삭제되어 nan으로 표시된다.
가령 df['일'].drop_duplicates를 사용하면 '일' 컬럼의 키 값만 nan값으로 표시된다는 뜻이다.
그렇다면 행 전체를 삭제하고 싶으면 어떻게 해야 할까?
df.drop_duplicates('일')
이런 식으로 사용하면 된다. 그럼 일 컬럼에서 중복된 키값의 행 자체가 삭제된다.
drop()
이 함수는 행이나 열 자체를 삭제해준다.
df.drop('일', axis=1)
'일'컬럼을 삭제해준다는 뜻이다. axis=1 옵션을 주었기 때문에 열이 삭제된다.
복수의 컬럼을 삭제하고 싶을 땐 아래와 같이 사용하면 된다.
df.drop(['일', '이'], axis=1)
컬럼이 아니라 행을 삭제하고 싶을 땐 어떻게 해야할까
df.drop(3, axis=0)
삭제할 인덱스와 axis=0 옵션을 부여한다.
다수의 행을 삭제하고 싶을 땐 리스트 형태로 입력한다.
df.drop([3, 5], axis=0)
'데이터' 카테고리의 다른 글
파이썬 실습 - 이상치(Outliers) 제거하기 (0) | 2020.09.16 |
---|---|
파이썬 실습 - '민간 아파트 가격동향' 데이터 전처리 (0) | 2020.09.16 |
파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수 (0) | 2020.09.16 |
파이썬 기초 - 표 합치기 (0) | 2020.09.16 |
엑셀 기초 - 조건부서식 (2) (0) | 2020.09.15 |