Pandas:조건에 따라 ffill을 사용하는 방법
다음 기본 구문을 사용하면 pandas에서 ffill() 함수를 사용하여 다른 열의 조건에 따라 채우기 값을 전달할 수 있습니다.
df[' sales '] = df. groupby (' store ')[' sales ']. ffill ()
이 특정 예에서는 store 열의 이전 값이 store 열의 현재 값과 동일한 경우에만 sales 열의 채우기 값을 전달합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: Pandas의 조건에 따라 ffill 사용
4개 사업 분기에 걸쳐 두 개의 서로 다른 소매점에서 발생한 총 매출에 대한 정보가 포함된 다음과 같은 pandas DataFrame이 있다고 가정합니다.
import pandas as pd import numpy as np #createDataFrame df = pd. DataFrame ({' store ': ['A', 'A', 'B', 'A', 'B', 'A', 'B', 'B'], ' quarter ': [1, 2, 1, 3, 2, 4, 3, 4], ' sales ': [12, 22, 30, np.nan, 24, np.nan, np.nan, np.nan]}) #view DataFrame print (df) store quarter sales 0 A 1 12.0 1 to 2 22.0 2 B 1 30.0 3 to 3 NaN 4 B 2 24.0 5 A 4 NaN 6 B 3 NaN 7 B 4 NaN
Sales 열에는 NaN 값이 여러 개 있습니다.
Sales 열의 이전 값을 사용하여 이러한 NaN 값을 채우고 싶지만 해당 값이 올바른 매장에 해당하는지 확인하려고 한다고 가정해 보겠습니다.
이를 위해 다음 구문을 사용할 수 있습니다.
#group by store and forward fill values in sales column df[' sales '] = df. groupby (' store ')[' sales ']. ffill () #view updated DataFrame print (df) store quarter sales 0 A 1 12.0 1 to 2 22.0 2 B 1 30.0 3 A 3 22.0 4 B 2 24.0 5 A 4 22.0 6 B 3 24.0 7 B 4 24.0
Sales 열의 NaN 값이 이전 Sales 값으로 대체되었으며 해당 값은 올바른 매장에 해당합니다.
예를 들어:
- 행 인덱스의 위치 3에 있는 NaN 값은 A 매장에 해당하는 sales 열의 가장 최근 값인 22 값으로 대체되었습니다.
- 행 인덱스의 6번째 위치에 있는 NaN 값은 B 매장에 해당하는 sales 열의 가장 최근 값인 24 값으로 대체되었습니다.
등등.
참고 : 여기에서 pandas ffill() 함수에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 Pandas에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
팬더에서 누락된 값을 계산하는 방법
Pandas에서 NaN 값이 있는 행을 삭제하는 방법
Pandas에서 특정 값이 포함된 행을 삭제하는 방법