[파이썬] 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
메서드를 사용하면 결측치를 처리하는 작업을 간편하게 수행할 수 있습니다. 이러한 결측치 처리 기능을 효과적으로 활용하여 데이터 분석 작업을 수행하면 더 정확한 결과를 얻을 수 있습니다.