-
파이썬 Pandas DataFrame 결측치 대체<Python>/[DataFrame] 2021. 12. 18. 19:03728x90
결측치 대체
1. (결측치 -> 평균값)
df.X1 = df.X1.fillna(df.X1.mean()) # NaN을 평균값으로 대체2. (결측치 -> 최빈값, 평균값)
df.fillna({'X1':df['X1'].mode()[0],
'X2':int(df['X2'].mean())}, inplace=True) # X1은 최빈값, X2는 평균값으로 대체3. (결측치 -> 정수)
df['X1'] = df['X1'].fillna(3) # 결측값을 3으로 대체4. (결측치 -> 0)
df = df.replace(np.NaN, 0)728x90+ 추가
1. ( 값 -> 결측치)
df.iloc[3, 3] = np.nan # 3행3열을 결측값으로 교체 # iloc = index location(인덱스 위치)2. (문자 -> 값)
df.replace(['good', 'bad'], [0, 1])실습 코드
import pandas as pd
import numpy as np
df = pd.DataFrame({ 'X1': [np.nan, 1, 1, 4],
'X2': [5, 7, np.nan, 9],
'X3': [np.nan, 10, np.nan, 12]})
df# 1. (결측치 -> 평균값)
df.X1 = df.X1.fillna(df.X1.mean()) # NaN을 평균값으로 대체# 2. (결측치 -> 최빈값, 평균값)
df.fillna({'X1':df['X1'].mode()[0],
'X2':int(df['X2'].mean())}, inplace=True) # X1은 최빈값, X2는 평균값으로 대체#3. (결측치 -> 정수)
df['X1'] = df['X1'].fillna(3) # 결측값을 3으로 대체# 4. (결측치 -> 0)
df = df.replace(np.NaN, 0)실습 결과
실습 파일
728x90'<Python> > [DataFrame]' 카테고리의 다른 글
파이썬 Pandas DataFrame 열 제거 (0) 2021.12.18 파이썬 Pandas DataFrame 일부 행 제거 (0) 2021.12.18 파이썬 Pandas DataFrame 결측치 행 제거 (0) 2021.12.18 파이썬 Pandas DataFrame 결측치 확인 (0) 2021.12.18 파이썬 Pandas DataFrame (0) 2021.12.03