Python 문법/Pandas_데이터처리

[NaN 데이터] isna(), dropna(), fillna(), notna()

jasonshin 2021. 11. 17. 17:31

(* df == dataframe 의 변수라고 가정)

 

NaN 생성
import numpy as np
np.nan

 

NaN이 있는 지 확인 : 데이터가 비어있는 지 확인
df.isna()

컬럼별로 NaN 확인하는 방법 : 데이터 개수 파악
df.isna().sum()

데이터프레임 전체로 비어있는 항목의 개수를 알고 싶을때
df.isna().sum().sum()

NaN을 처리
1. 삭제

1-1 NaN이 있는 행이 다 삭제
df.dropna()
1-2  NaN이 있는 열을 다 삭제
df.dropna(axis= 1)

 

2. 특정 값으로 채움
df.fillna( '채우려는 데이터' )
2-1 앞의 행 데이터로 채움
df.fillna(method= 'ffill', axis= 0)
2-2 앞의 열 데이터로 채움
df.fillna(method= 'ffill', axis= 1)
2-3 뒤의 행 데이터로 채움
df.fillna(method= 'bfill', axis= 0)
2-4 뒤의 열 데이터로 채움
df.fillna(method= 'bfill', axis= 0)

2-5 (응용)각 컬럼별로 최대값으로 채우기

df.fillna(df.max())

 

NaN이 없는 지 확인 : 누락되지 않은 데이터 확인
df.notna()

# 각 컬럼별로 최대값으로 채우기
# 각 컬럼별로 최소값으로 채우기
# 각 컬럼별로 그 컬럼의 평균값으로 채우기

# 각 컬럼별로 그 컬럼의 표준편차값으로 채우기

df.min()
df.max()

df.mean()
df.std()

의 함수를
df.fillna(df.max())

로 사용

 

0데이터를 NaN으로 변경

X.replace(0, np.nan)

 

 

#각 컬럼간의 상관관계( Correlation) : 두 변수(컬럼)간의 어떤 관계를 갖고 있는지 분석하는 방법.  

  상관분석의 결과로 나온 수치를 상관계수라고 한다. (Coefficient)

  상관계수는 -1 ~ 1 사이의 실수

  0 근처이면 아무 관련없다. 

  1로 갈수록 강한 비례 관계가 있다.

  -1로 갈수록 강한 반비례 관계가 있다. 

df.corr() 

반응형