[파이썬] pandas에서 결측치 처리 (dropna, fillna)
결측치 (missing data)는 데이터 분석에서 자주 발생하는 문제입니다. 결측치가 있는 데이터를 제대로 다루지 않으면 분석 결과에 왜곡이 발생할 수 있습니다. pandas는 결측치 처리를 간단하게 할 수 있는 여러 기능을 제공합니다. 이번 포스트에서는 pandas에서 결측치 처리를 하는 두 가지 메서드인 dropna와 fillna를 소개하겠습니다.
dropna 메서드
dropna 메서드는 결측치를 가진 행이나 열을 제거하는 기능을 제공합니다. 일반적으로 결측치가 많거나 중요한 데이터가 모두 없는 행이나 열을 제거하는데 사용됩니다.
다음은 dropna 메서드의 사용 예시입니다:
import pandas as pd
# 결측치가 포함된 데이터프레임 생성
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [1, 2, 3, None, 5]}
df = pd.DataFrame(data)
# 결측치가 포함된 행 제거
df_dropna_rows = df.dropna()
# 결측치가 포함된 열 제거
df_dropna_cols = df.dropna(axis='columns')
결과:
A B C
1 2 2.0 2.0
위의 예시에서 dropna 메서드를 사용하여 결측치가 포함된 행을 제거한 결과와 결측치가 포함된 열을 제거한 결과를 확인할 수 있습니다.
fillna 메서드
fillna 메서드는 결측치를 다른 값으로 대체하는 기능을 제공합니다. 주로 평균, 중간값 또는 사용자가 정의한 값을 사용하여 결측치를 대체하는데 사용됩니다.
다음은 fillna 메서드의 사용 예시입니다:
import pandas as pd
# 결측치가 포함된 데이터프레임 생성
data = {'A': [1, 2, None, 4, 5],
'B': [None, 2, 3, 4, None],
'C': [1, 2, 3, None, 5]}
df = pd.DataFrame(data)
# 평균값으로 결측치 대체
df_fillna_mean = df.fillna(df.mean())
# 중간값으로 결측치 대체
df_fillna_median = df.fillna(df.median())
# 사용자 정의 값으로 결측치 대체
df_fillna_custom = df.fillna(0)
결과:
A B C
0 1.0 2.5 1.0
1 2.0 2.0 2.0
2 3.0 3.0 3.0
3 4.0 4.0 2.0
4 5.0 2.5 5.0
위의 예시에서 fillna 메서드를 사용하여 결측치를 평균값, 중간값 또는 사용자가 정의한 값으로 대체한 결과를 확인할 수 있습니다.
결론
pandas에서 제공하는 dropna와 fillna 메서드를 사용하면 결측치를 처리하는 작업을 간편하게 수행할 수 있습니다. 이러한 결측치 처리 기능을 효과적으로 활용하여 데이터 분석 작업을 수행하면 더 정확한 결과를 얻을 수 있습니다.