"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > `apply()`와 함께 이전 행 값을 사용하여 DataFrame의 열을 계산하는 방법은 무엇입니까?

`apply()`와 함께 이전 행 값을 사용하여 DataFrame의 열을 계산하는 방법은 무엇입니까?

2024년 11월 13일에 게시됨
검색:182

How to Calculate a Column in a DataFrame Using Previous Row Values with `apply()`?

apply()를 사용하여 이전 값을 고려하여 DataFrame 반복

Pandas에서 apply() 함수는 일반적으로 DataFrame의 각 행에 함수를 적용하는 데 사용됩니다. . 그러나 동일한 apply() 메서드를 사용하여 이전 행 값도 계산할 때 문제가 발생합니다.

다음 DataFrame을 고려하세요.

Index_Date ABCD
2015-01-311010NaN10
2015-02-012 3NaN22
2015-02-021060NaN280
2015-02-0310100 NaN250

목표는 열 C를 파생하는 것입니다:

  • 2015-01-31의 경우, D의 값으로 설정합니다.
  • 다음 행의 경우 C의 이전 행 값에 A의 현재 행 값을 곱하고 이를 B의 현재 행 값에 더합니다.

해결책:

이를 달성하기 위해 먼저 2015-01-31에 대한 C의 초기 값을 설정합니다.

df.loc[0, 'C'] = df.loc[0, 'D']

그런 다음 나머지 행을 반복하고 원하는 계산으로 C 값을 업데이트합니다.

for i in range(1, len(df)):
    df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A']   df.loc[i, 'B']

다음 작업 후의 최종 DataFrame:

Index_DateABC D
2015-01-3110101010
2015-02-01232322
2015-02-021060290280
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3