본문 바로가기

언어 꿀Tip/Python 꿀tip!

07_01_56. dropna 함수 (결측치 제거)

데이터에 NaN 값이 존재하는 경우 결측치 제거하는 방법을 살펴보고자 한다.

import pandas as pd

df = pd.read_excel('tmp.xlsx')
df

1. 결측치가 존재하는 행 제거하기

# Listwise 방식으로 제거
# 행 기준으로 삭제 : 결측치가 존재하는 행이 삭제됨
df.dropna(axis=0)  # df.dropna()
# df.dropna(axis=0, how='any') # 결측이 있는 행 전부

 

 

2. 결측치가 존재하는 열 제거하기

# 열 기준으로 삭제 : 결측치가 존재하는 컬럼이 삭제됨
df.dropna(axis=1) 

 

3. 특정 컬럼에 존재하는 na에 대해서만 고려 할 때, subset 이용

# 특정 컬럼에 존재하는 na에 대해서만 고려 할 때, subset 이용
df.dropna(subset=['col_2'])

4. 특정 컬럼에 존재하는 na에 대해서 고려하며, 해당 결과를 바로 df에 적용

  inplace=True 사용

inplace를 이용하면 df = df.dropna( 조건) 처럼 다시 지정하지 않아도 됨

# 특정 컬럼에 존재하는 na에 대해서 고려하며, 해당 결과를 바로 df에 적용하고자 할 때 inplace=True 사용
df.dropna(subset=['col_2'], inplace=True)
df