본문 바로가기

데이터

파이썬 기초 - 전처리 과정에서 사용되는 다양한 함수(2)

반응형

전처리 과정에서 사용되는 다양한 함수(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)

반응형