python

[python] 결측값(null/nan) 개수/ 존재 구하는 방법

독립성이 강한 ISFP 2023. 3. 18. 01:07
728x90
반응형
df_last = pd.read_csv("data/분양가격13_15.csv", encoding="cp949")

df_last 데이터는 13년도부터 15년도까지의 지역/규모/연도/월/분양가격 정보가 포함된 데이터이다.

 

.isnull() 함수를 이용하면 결측값의 유/무를 True/False로 출력이 된다. 

해당 값이 결측값이라면 True결측값이 아니라면 False로 출력이 된다.

df_last.isnull()

 

.isnull().sum() 함수를 이용하면 True/False가 아닌 각 열의 결측치의 개수가 출력된다. 직관적으로 결측치가 칼럼마다 몇 개씩 존재하는지를 출력해 주기 때문에 자주 사용한다.

df_last.isnull().sum()

특정 칼럼 null값의 개수 구하기

df_last 데이터셋에서 분양가격(m) 칼럼에 존재하는 null값의 개수를 구하는 두 가지 방법이다.

df_last["분양가격(㎡)"].isnull().sum()
nan_cnt=0
for x in df_last["분양가격(㎡)"]:
    if x!=x:
        nan_cnt+=1
nan_cnt

# 결측값 중앙값으로 채우기
for i in X_train.describe().columns :
	X_train[i] = X_train[i].fillna(X_train[i].median())
  X_test[i] = X_test[i].fillna(X_test[i].median())

# 결측값 0으로 채우기
for i in X_train.describe().columns :
	X_train[i] = X_train[i].fillna(0)
  X_test[i] = X_test[i].fillna(0)

#  결측값 평균으로 채우기
for i in X_train.describe().columns :
	 X_train[i] = X_train[i].fillna(X_train[i].mean())
	 X_test[i] = X_test[i].fillna(X_test[i].mean())

# 결측값 이전값으로 채우기
for i in X_train.describe().columns :
	 X_train[i] = X_train[i].fillna(method='ffill')
   X_test[i] = X_test[i].fillna(method='ffill')
728x90
반응형