매번 찾기 귀찮아서 모아두는 개발팁

[Python/Pandas] nan 데이터(결측값)가 있는 행/열 제거

archive-er 2023. 1. 16. 16:13

dropna 구글링을 몇번이나 하는건지

 

좀 더 체계적으로 알아듣기 쉽게 작성한 글은 얼마든지 있으니까 그냥 대충 결론만 적음

 

 

(1) nan이 있는 행 제거

df = df.dropna()

 

(2) nan이 있는 열 제거

df = df.dropna(axis=1)

 

(3) 특정 열의 값으로 nan을 갖는 행 제거

df = df.dropna(subset=["col_name_1", "col_name_2"])

 

(4) 그 외 파라미터

  • how : choice=["any", "all"], default="any"; 행/열의 feature 중 하나만 nan이어도 drop하면 any, 모든 데이터가 nan이어야만 drop하면 all
  • inplace : type=bool, default=False; True면 원본 데이터에 바로 적용

 

(5) 추가: fillna

데이터프레임 내 nan 값들을 다른 특정 값으로 변경 = nan이 포함된 데이터를 버리지 않고 살려둠

나는 보통 데이터를 살려두고싶은데 nan 때문에 Syntax Error가 날때 썼음

df = df.fillna(" ")