Pandas DataFrame에서 결측치(NaN)를 바로 앞 행의 값으로 채우고 싶다면 fillna() 메서드의 "method" 매개변수에 'ffill'을 지정하면 됩니다.
fillna(method='ffill')
참고로 Pandas 2.x 버전부터는 method 매개변수가 지원 중단(deprecated)되었기 때문에, 동일한 기능을 수행하는 전용 메서드인 ffill()을 사용하는 것을 권장합니다.
예를 들어 아래와 같이 일부 NaN 값이 포함된 CSV 파일이 Microsoft Excel에 열려 있다고 가정해 보겠습니다.

1. 라이브러리 임포트
먼저 필요한 라이브러리를 임포트합니다.
import pandas as pd
2. CSV 파일 불러오기
CSV 파일의 데이터를 Pandas DataFrame으로 불러옵니다.
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")예제 코드
다음은 NaN 값을 앞쪽 값으로 전파해 채우는 전체 코드입니다.
import pandas as pd
# CSV 파일의 데이터를 Pandas DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\SalesData.csv")
print("DataFrame...\n", dataFrame)
# null이 아닌 값을 앞으로 전파(forward fill)
res = dataFrame.fillna(method='ffill')
print("\nForward fill 적용 후 DataFrame...\n", res)최신 Pandas 버전을 사용한다면 다음과 같이 작성할 수도 있습니다.
res = dataFrame.ffill()
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
DataFrame...
Car Reg_Price Units
0 BMW 2500 100.0
1 Lexus 3500 NaN
2 Audi 2500 120.0
3 Jaguar 2000 NaN
4 Mustang 2500 110.0
Forward fill 적용 후 DataFrame...
Car Reg_Price Units
0 BMW 2500 100.0
1 Lexus 3500 100.0
2 Audi 2500 120.0
3 Jaguar 2000 120.0
4 Mustang 2500 110.0결과를 보면 'Lexus' 행의 NaN 값이 바로 위 행인 'BMW'의 값(100.0)으로, 'Jaguar' 행의 NaN 값이 'Audi'의 값(120.0)으로 각각 채워진 것을 확인할 수 있습니다. 이처럼 ffill(forward fill)은 시계열 데이터나 센서 데이터처럼 이전 값이 유지되는 경향이 있는 데이터의 결측치를 처리할 때 특히 유용합니다.