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

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

Linda Hamilton
Linda Hamilton원래의
2024-11-03 19:26:02408검색

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

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

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

다음 DataFrame을 고려하세요.

Index_Date A B C D
2015-01-31 10 10 NaN 10
2015-02-01 2 3 NaN 22
2015-02-02 10 60 NaN 280
2015-02-03 10 100 NaN 250

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

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

해결책:

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

<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>

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

<code class="python">for i in range(1, len(df)):
    df.loc[i, 'C'] = df.loc[i-1, 'C'] * df.loc[i, 'A'] + df.loc[i, 'B']</code>

이 작업 후의 최종 DataFrame:

Index_Date A B C D
2015-01-31 10 10 10 10
2015-02-01 2 3 23 22
2015-02-02 10 60 290 280

위 내용은 `apply()`와 함께 이전 행 값을 사용하여 DataFrame의 열을 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.