데이터 프레임 속 NaN 이 얼마나 있는지 파악하자

in:
df.isna()
out:

# isna를 사용하여 False와 True로 NaN의 여부를 확인할 수 있다.
sum함수를 활용해 컬럼별로 Nan의 개수를 알 수 있다.
in:
df.isna().sum()
out:
bikes 0
pants 0
watches 0
shirts 1
shoes 0
suits 1
glasses 1
dtype: int64
전체 Nan의 개수를 알고 싶으면 sum을 한 번 더 사용하면 된다.
in:
df.isna().sum().sum()
out:
3
NaN을 처리하는 방법은 여러 가지가 있다.
1. 삭제한다.
in:
df.dropna()
out:

# dropna를 통해 Nan이 들어갔던 행들이 모두 삭제됐다.
2. 특정값으로 채운다.
in:
df.fillna(0)
out:

# 0이 아닌 '없음'같은 문자열을 넣고 싶으면 없음으로 처리된다.
# 만약 하나의 열에 있는 nan에만 특정값을 채우고 싶으면 칼럼명을 활용하면 된다.
# 예시: df['shirts'] = df['shirts'].fillna(0)
method 파라미터에 ffill을 사용해 이전 열의 값을 Nan에 불러와 넣을 수 있다.
in:
df.fillna(method='ffill', axis=0)
out:

# Nan이 동일 열, 이전 행의 값과 동일해졌다.
# ffill 대신 bfill을 사용하면 다음 행의 값과 동일해진다.
mean함수를 이용해 전체 행의 평균값을 nan값에 넣어보자.
in:
df.fillna(df.mean())
out:

notna 함수를 통해 Nan이 아닌 값들을 특정 지을 수 있다.
in:
df.notna()
out:

'Python' 카테고리의 다른 글
| [파이썬] 판다스: 조건과 정렬 (0) | 2022.05.02 |
|---|---|
| [파이썬] 판다스: 카테고리컬 데이터 (categorical data) (0) | 2022.05.01 |
| [파이썬] 판다스: 2차 배열, DataFrame (0) | 2022.04.28 |
| [파이썬] 판다스: 1차 배열, Series (0) | 2022.04.28 |
| [파이썬] 넘파이: 인덱스, 슬라이싱, delete, append, insert, copy, unique (0) | 2022.04.28 |
댓글