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에서 특정 값이 포함된 행을 삭제하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다