pandas에서 결측값을 처리할 때 사용하는 메소드를 정리한다.
먼저 데이터를 불러온다.
import pandas as pd
df = pd.DataFrame({'col1':[1,2,2,3,3,None],
'col2':['A','A','B','D',None,None]})
isnull() (=isna())
1. NA 여부 판단(T/F)
df.isnull()
df.isna()
index | col1 | col2 |
0 | false | false |
1 | false | false |
2 | false | false |
3 | false | false |
4 | false | true |
5 | true | true |
df.notnull() #결과 반대로 출력
df.notna() #결과 반대로 출력
2. NA개수 확인
df.isnull().sum() #isnull.sum(axis=0)
df.isna().sum()
> col1 1
col2 2
dropna()
결측값 제거
df.dropna() #df.dropna(axis=0, how="all")
# NA가 포함된 모든 행 제거
df.dropna(axis=1)
# NA가 포함된 모든 열 제거
df.dropna(how="all")
# 모두 NA인 행 제거
df.dropna(inplace=True)
# df원본에서 na제거
#default
df.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
fillna()
결측값 대체
df.fillna(0)
# NA를 0으로 대체
df.fillna(df.mean())
# NA를 평균으로 대체 = df.where(pd.notnull(df), df.mean(), axis='columns')
'⚙️ Tech > Pandas' 카테고리의 다른 글
matplotlib 기본 차트 사용법 (0) | 2025.05.22 |
---|---|
[pandas] unique, nunique (0) | 2025.02.09 |
[pandas] value_counts (0) | 2025.02.09 |
[pandas] 메모리 관리를 위한 대용량 데이터프레임 다루기 (0) | 2025.02.09 |