상세 컨텐츠

본문 제목

Index별로 결측값 대치하기

내가보려고만든

by ohy2525 2022. 1. 26. 22:13

본문

서로 다른 값으로 결측값을 대치해야 할 경우

 

- titianic 데이터 사용 

import pandas as pd
import numpy as np

df = pd.read_csv('titanic.csv')

- 결측치 확인

df.isna().sum()

- Age 결측값을 Pclass 등급에 따른 Age 평균으로 대치하기

df.groupby('Pclass')['Age'].mean()

- index 와 df.at[] 사용하는 함수

def process_age_null(index, df):
  pclass = df.loc[index]['Pclass']
  pclass_mean = round(df.groupby('Pclass')['Age'].mean()[pclass])
  df.at[index, "Age"] = pclass_mean

- Age가 null 값인 데이터의 인덱스 확인 및 함수 적용

age_null_index = df[df['Age'].isna()].index
for index in age_null_index:
  process_age_null(index, df_train)

 

- 결과 확인

df_train.isna().sum()

Age 결측값이 사라진 것을 확인할 수 있다.

관련글 더보기

댓글 영역