pandas는 데이터 분석과 처리를 위한 파이썬 라이브러리로, 데이터 결측값을 다루는 다양한 방법을 제공합니다. 아래에서는 pandas를 사용하여 데이터 결측값을 처리하는 몇 가지 방법을 소개하겠습니다.
결측값 확인하기
먼저 데이터프레임에서 결측값이 어떤 열에 있는지 확인합니다.
import pandas as pd
# 데이터프레임 생성
data = {'A': [1, 2, None, 4],
'B': [5, None, 7, 8]}
df = pd.DataFrame(data)
# 결측값 확인
print(df.isnull())
print()
# 결측값 카운팅
print(df.isnull().sum())
결측값 삭제하기
결측값이 있는 행이나 열을 삭제할 수 있습니다.
# 결측값이 있는 행 삭제
df_cleaned_rows = df.dropna()
# 결측값이 있는 열 삭제
df_cleaned_cols = df.dropna(axis=1)
결측값 대체하기
결측값을 특정 값으로 대체할 수 있습니다.
# 결측값을 0으로 대체
df_filled = df.fillna(0)
# 각 열의 평균값으로 결측값 대체
df_filled_mean = df.fillna(df.mean())
보간하기
보간은 결측값을 주변 값의 중간값으로 대체하는 것입니다.
# 선형으로 보간
df_interpolated = df.interpolate()
# 시간에 따라 보간
df_time_interpolated = df.interpolate(method='time')
결측값 예측 모델 사용하기
머신러닝 모델을 사용하여 결측값을 예측하고 대체할 수 있습니다.
Copy code
from sklearn.ensemble import RandomForestRegressor
# 결측값 예측 모델 생성
model = RandomForestRegressor()
model.fit(X_known, y_known)
# 예측된 값으로 결측값 대체
predicted_values = model.predict(X_missing)
df_predicted = df.copy()
df_predicted.loc[df_missing] = predicted_values
결측값 처리 시각화
결측값의 분포와 처리 결과를 시각화하여 확인할 수 있습니다.
import matplotlib.pyplot as plt
# 결측값 분포 시각화
plt.figure(figsize=(8, 6))
df.isnull().mean().plot(kind='bar')
plt.title('Percentage of Missing Values')
plt.show()
이 외에도 pandas에는 결측값을 처리하기 위한 다양한 함수와 옵션이 있습니다. 데이터의 특성과 분석 목적에 따라 적절한 방법을 선택하여 결측값을 처리할 수 있습니다.
해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.
'Big Data > DataAnalysis & Manipulate' 카테고리의 다른 글
연관 규칙 분석 (0) | 2023.08.16 |
---|---|
pd.pivot_table() (0) | 2023.08.16 |
Pandas에서 결측값을 다루기 위한 여러 함수 (0) | 2023.08.11 |
DataFrame 열 위치 변경 (0) | 2023.08.11 |
explode()와 melt() 그리고 Wide->Long 포맷 변환 (0) | 2023.08.11 |