본문 바로가기
Python/Pandas

pandas.fillna로 결측값 처리하기

by PySun 2025. 5. 11.
반응형

Pandas fillna: 결측값 처리의 강력한 도우미

파이썬의 Pandas 라이브러리는 데이터 분석에 있어서 없어서는 안 될 도구입니다. 그 중에서도 fillna 메소드는 데이터프레임 내의 결측값을 효과적으로 처리할 수 있는 강력한 기능을 제공합니다. 이번 포스팅에서는 pandas.fillna를 활용하여 결측값을 채우는 방법과 함께 다양한 예제를 소개합니다.

fillna 함수 소개

fillna 메소드는 데이터프레임 또는 시리즈 안에 존재하는 결측값(NaN)을 특정 값으로 대체하거나, 평균, 중앙값과 같은 통계적 방법으로 채우는 데 사용됩니다. 이를 통해 데이터 분석 시 결측값에 따른 문제를 최소화할 수 있습니다.

함수 시그니처

DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)

매개변수:

  • value: 결측값을 대체할 값입니다.
  • method: 'ffill' 또는 'bfill'과 같은 방법으로 결측값을 대체합니다.
  • axis: 0 또는 1, 행 또는 열 방향으로 적용할지를 설정합니다.
  • inplace: True로 설정하면 원본 데이터를 변경합니다.
  • limit: 앞서 대체할 총 개수를 설정합니다.

반환 값:

  • 결측값이 대체된 새로운 데이터프레임 또는 원본 데이터프레임이 반환됩니다.

사용 예제

기본 예제

다음은 fillna 메소드를 사용하여 결측값을 특정 값으로 대체하는 기본 예제입니다.

import pandas as pd
import numpy as np

# 샘플 데이터프레임 생성
data = {'A': [1, np.nan, 3],
        'B': [4, 5, np.nan]} 
df = pd.DataFrame(data)

# 결측값을 0으로 대체
df_filled = df.fillna(0)

print(df_filled)
# 출력:
#      A    B
# 0  1.0  4.0
# 1  0.0  5.0
# 2  3.0  0.0

전방 및 후방 채우기 예제

결측값을 이전 또는 이후의 값으로 대체할 수도 있습니다. 아래는 ffill과 bfill을 사용한 예제입니다.

import pandas as pd
import numpy as np

# 샘플 데이터프레임 생성
data = {'C': [1, np.nan, 3, np.nan, 5]}
df = pd.DataFrame(data)

# 전방 채우기
df_filled_ffill = df.fillna(method='ffill')

# 후방 채우기
df_filled_bfill = df.fillna(method='bfill')

print("전방 채우기:\n", df_filled_ffill)
print("\n후방 채우기:\n", df_filled_bfill)
# 출력:
# 전방 채우기:
#      C
# 0  1.0
# 1  1.0
# 2  3.0
# 3  3.0
# 4  5.0

# 후방 채우기:
#      C
# 0  1.0
# 1  3.0
# 2  3.0
# 3  5.0
# 4  5.0

결론

pandas.fillna를 통한 결측값 처리는 데이터 분석에서도 매우 중요한 단계입니다. 데이터를 더욱 신뢰할 수 있게 만들어 주며, 결측값으로 인한 오류를 방지해줍니다. 따라서, 다양한 방식으로 결측값을 처리하여 품질 높은 데이터 분석을 진행해 보세요!

  • 결측값을 특정 값으로 대체하여 데이터의 완전성을 확보해보세요!
  • 전방 또는 후방 채우기 기법을 활용하여 더욱 자연스러운 데이터 흐름을 만들어보세요!
반응형