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

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

2024-11-01에 게시됨
검색:206

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' 값을 초기화합니다. .
df.loc[0, 'C'] = df.loc[0, 'D']
  1. 나머지 행을 반복하고 계산합니다. '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']

결과

이 접근 방식은 '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
최신 튜토리얼 더>

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

Copyright© 2022 湘ICP备2022001581号-3