📝파이썬 판다스 데이터프레임 NaN값 처리하기 (확인, 삭제, 추가, 변경)
NaN? 값이 없을 때의 값 ( = null)
df.isna() : 비어있는 데이터 갯수를 파악한다
# 해당 데이터프레임에 비어있는 값을 True로 나타낸다
>>> df.isna()
# .sum()을 입력시 각 컬럼별로 비어 있는 값을 알려준다
>>> df.isna().sum()
# .sum()을 두번 입력시 총 값(비어있는 총 갯수)을 알려준다
>>> df.isna().sum().sum()
df.notna() : 비어있지 않은 데이터 갯수를 파악한다 (isna() 함수의 반대)
df.dropna() : NaN이 들어있는 행을 삭제한다
# NaN이 들어있는 행을 삭제한다
>>> df.dropna()
df.fillna(a) : NaN을 a 의 데이터로 채운다
# 해당 데이터 프레임의 모든 NaN값을 0으로 채움
>>> df.fillna(0)
# 0말고 다른 데이터 입력시 해당 데이터로 바뀜
# 특정 컬럼의 NaN만 변경시 해당 컬럼 엑세스
>>> df['컬럼'].fillna(0)
# 파라미터에 df.mean() 함수를 입력하면 각 컬럼별로 계산한 평균값을 NaN에 입력해준다
>>> df.fillna(df.mean())
# max() 함수를 넣어주면 컬럼별로 최대값을 NaN에 입력해준다
>>> df.fillna(df.max())
# 데이터 프레임이 숫자로만 된게 아닐경우 (numeric_only=True) 입력하면 숫자 데이터만 계산해준다
>>> df.fillna(df.mean(numeric_only=True))
df.fillna(method='a', axis= 0 (혹은 1)) : NaN을 위 행, 아래 행, 왼쪽 열, 오른쪽 열의 데이터로 변경한다
a에 입력하는 ' ffill ' 은 위, 왼쪽, ' bfill ' 은 아래, 오른쪽
# NaN 위의 행 데이터를 가져옴
>>> df.fillna(method='ffill', axis= 0)
# NaN 왼쪽 열의 데이터를 가져옴
>>> df.fillna(method='ffill', axis= 1)
# NaN 밑의 행 데이터를 가져옴
>>> df.fillna(method='bfill', axis= 0)
# NaN 오른쪽 열의 데이터를 가져옴
>>> df.fillna(method='bfill', axis= 1)
'Python > Pandas' 카테고리의 다른 글
[Python] Pandas DataFrame 중복 데이터 그룹하기 groupby() (0) | 2022.11.24 |
---|---|
[Python] Pandas DataFrame 함수 숫자 데이터만 계산하기(numeric_only=True) (0) | 2022.11.24 |
[Python] Pandas csv 파일 불러오기 pd.read_csv() (0) | 2022.11.24 |
[Python] Pandas DataFrame 가져오기(엑세스) loc[], iloc[] (0) | 2022.11.23 |
[Python] Pandas 데이터 생성 pd.Series, pd.DataFrame, to_frame() (0) | 2022.11.23 |
댓글