[NaN 데이터] isna(), dropna(), fillna(), notna()
(* 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()