Pandas는 데이터프레임에서 결측치(누락된 데이터)를 처리하는 다양한 방법을 제공한다. 이러한 결측치 처리는 데이터 정제 및 분석 중에 중요한 역할을 한다. 이 글에서는 Pandas를 사용하여 결측치를 처리하는 주요 메서드인 dropna
와 fillna
에 대해 알아본다.
dropna
메서드
dropna
메서드는 데이터프레임에서 결측치를 삭제하는 데 사용된다. 기본적으로 모든 행에서 하나라도 결측치가 있는 경우 해당 행을 삭제한다.
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)
# 결측치가 있는 행 삭제
df_cleaned = df.dropna()
df_cleaned
fillna
메서드
fillna
메서드는 결측치를 대체하거나 채우는 데 사용된다. 이 메서드를 사용하면 결측치를 원하는 값으로 대체할 수 있다.
결측치 특정 값으로 대체
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)
# 결측치를 0으로 대체
df_filled = df.fillna(0)
df_filled
결측치 평균값으로 대체
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)
# 결측치를 각 열의 평균값으로 대체
mean_A = df['A'].mean()
mean_B = df['B'].mean()
df_filled = df.fillna({'A': mean_A, 'B': mean_B})
df_filled
A의 결측치는 평균인 2.333333으로 대체 되었고, B의 결측치는 평균인 7.0으로 대체 되었다.
inplace
매개변수
dropna
및 fillna
메서드에 inplace
매개변수를 사용하여 원본 데이터프레임을 수정할 수 있다. 이 매개변수를 True
로 설정하면 변경 내용이 원본 데이터프레임에 적용된다.
import pandas as pd
import numpy as np
data = {'A': [1, 2, np.nan, 4], 'B': [np.nan, 6, 7, 8]}
df = pd.DataFrame(data)
# 결측치를 각 열의 평균값으로 대체
mean_A = df['A'].mean()
mean_B = df['B'].mean()
df.fillna({'A': mean_A, 'B': mean_B}, inplace=True)
df