>백엔드 개발 >파이썬 튜토리얼 >`apply()` 함수를 사용하여 Pandas에서 이전 행 값을 기반으로 열을 계산하는 방법은 무엇입니까?

`apply()` 함수를 사용하여 Pandas에서 이전 행 값을 기반으로 열을 계산하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-29 20:58:29742검색

How to Calculate a Column Based on Previous Row Values in Pandas Using the `apply()` Function?

Pandas에서 이전 행 값을 사용하여 계산 적용

Pandas에서는 데이터 조작 중에 이전 행 값을 계산에 통합하는 문제가 발생하지 않습니다. 드문. 그러한 시나리오 중 하나는 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' 열을 계산된 값으로 채우는 것입니다. 첫 번째 행의 경우 'C'는 'D'에서 파생됩니다. 후속 행의 경우 'C'는 이전 행의 'C' 값에 현재 행의 'A' 값을 곱하고 'B' 값을 더하여 계산됩니다.

접근법

이를 달성하기 위해 apply() 함수 내에서 초기화와 반복의 조합을 사용합니다.

  1. 'D'의 값을 사용하여 첫 번째 행의 'C' 값을 초기화합니다. .
<code class="python">df.loc[0, 'C'] = df.loc[0, 'D']</code>
  1. 나머지 행을 반복하고 '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>

결과

이 접근 방식은 'C' 열을 원하는 계산 값으로 효과적으로 채웁니다.

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
2015-02-03  10  100  3000  250

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

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