MLOps 부트캠프 by 한경+토스뱅크/Python

DataFrame - 결측값 처리하기(삭제/대체)

나니니 2024. 8. 3. 23:00

결측값 삭제하기

df.dropna()

airbnb_df.dropna() # 결측값 삭제하기

 

결측값을 다른 값으로 채우기

df.fillna() 

airbnb_df['rating'].mean() # 1 - 'rating'컬럼의 평균값 확인
rating_mean = airbnb_df['rating'].mean() # 2 - 1의 값을 rating_mean변수에 저장
airbnb_df['rating'].fillna(rating_mean) # 3 - 결측값을 2의 값으로 채움

 

예제)

효준이는 새로운 스마트폰을 구입하기 위해 애플과 삼성의 스마트폰 데이터를 수집했습니다. 그런데 실수로 특정 모델의 무게를 입력하는 것을 깜빡했다고 하는데요. 다행히 한 가지 모델만 누락되어 있고, 모델명이 같으면 용량이나 색상과 관계없이 무게가 동일하다고 합니다. 아래 표를 참고해서 cellphone_df에 있는 결측값을 올바른 값으로 채워 주세요. 그 다음에는 cellphone_df에서 2021년에 출시한 스마트폰들의 데이터만 출력해 주세요.

import pandas as pd # 판다스 임포트

cellphone_df = pd.read_csv('data/cellphone.csv') # cellphone.csv 데이터를 불러와서 cellphone_df에 저장

cellphone_df['weight'] = cellphone_df['weight'].fillna(140) # 'weight'컬럼의 NaN값을 140으로 채운 후, 'weight'컬럼에 저장
cellphone_df[cellphone_df['year'] == 2021] # 'year'이 2021년도 데이터프레임만 출력함

weight의 결측값이 있는 raw 출력
결측값 제거 후, 출력된 결과