Pandas DataFrame fillna 메서드

Beginner

소개

이 랩에서는 Pandas 라이브러리의 fillna() 메서드를 사용하는 방법을 배우게 됩니다. fillna() 메서드를 사용하면 DataFrame 의 누락된 값 또는 NaN (Not a Number) 값을 지정된 값이나 지정된 메서드를 사용하여 채울 수 있습니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한 사항으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

필요한 라이브러리 임포트

Pandas 라이브러리를 가져오는 것으로 시작해 보겠습니다.

import pandas as pd

결측값을 포함하는 DataFrame 생성

다음으로, 몇 가지 결측값이 있는 DataFrame 을 생성해 보겠습니다.

df = pd.DataFrame([[2, pd.nan, 0], [pd.nan, pd.nan, 5], [pd.nan, 3, pd.nan]], columns=list('ABC'))
print("DataFrame 은 다음과 같습니다:")
print(df)

결측값을 특정 값으로 채우기

fillna() 메서드를 사용하여 모든 결측값을 지정된 값으로 대체할 수 있습니다. 예를 들어, DataFrame 의 모든 결측값을 값 2 로 대체해 보겠습니다.

print("NaN 값 채우기:")
print(df.fillna(2))

결측값 채우기: Forward Fill (앞 채우기) 방법 사용

단일 값을 사용하여 결측값을 채우는 대신, 전진 채우기 방법 (ffill) 을 사용하여 null 이 아닌 값을 전파할 수 있습니다. 이 방법은 결측값을 동일한 열에서 마지막으로 관찰된 null 이 아닌 값으로 채웁니다.

print("전진 채우기 방법을 사용하여 NaN 값 채우기:")
print(df.fillna(method='ffill'))

열 (Column) 방향으로 Forward Fill (앞 채우기) 방법으로 결측값 채우기

axis 매개변수를 1 로 설정하여 열을 따라 전진 채우기 방법을 사용할 수도 있습니다.

print("열을 따라 전진 채우기 방법을 사용하여 NaN 값 채우기:")
print(df.fillna(method='ffill', axis=1))

결측값 채우기: Backward Fill (뒤 채우기) 방법 사용

마찬가지로, 후진 채우기 방법 (bfill) 을 사용하여 null 이 아닌 값을 뒤로 전파할 수 있습니다. 이 방법은 결측값을 동일한 열에서 다음으로 관찰된 null 이 아닌 값으로 채웁니다.

print("후진 채우기 방법을 사용하여 NaN 값 채우기:")
print(df.fillna(method='bfill'))

특정 열 (Column) 의 결측값을 지정된 값으로 대체

특정 열의 결측값을 다른 지정된 값으로 대체할 수 있습니다. 예를 들어, 'A', 'B', 'C', 'D' 열의 결측값을 각각 0, 1, 2, 3 으로 대체해 보겠습니다.

print("특정 열의 NaN 값 채우기:")
new_values = {'A': 0, 'B': 1, 'C': 2, 'D': 3}
print(df.fillna(value=new_values))

채울 연속된 NaN 값의 개수 제한

limit 매개변수를 사용하여 채울 연속된 NaN 값의 수를 제한할 수도 있습니다. 예를 들어, 전진 채우기 (forward filling) 를 연속된 NaN 값 하나로만 제한해 보겠습니다.

print("제한을 사용하여 NaN 값 채우기:")
print(df.fillna(method='ffill', limit=1))

요약

이 Lab 에서는 Pandas 라이브러리의 fillna() 메서드를 사용하여 DataFrame 의 누락된 값 또는 NaN 값을 채우는 방법을 배웠습니다. 지정된 값 사용, 전진 채우기 (forward filling), 후진 채우기 (backward filling), 그리고 채울 연속된 NaN 값의 수 제한을 포함하여 누락된 값을 채우는 다양한 방법을 살펴보았습니다. Fillna 는 누락된 데이터를 처리하고 DataFrame 의 무결성을 보장하는 데 유용한 메서드입니다.