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() 함수 내에서 초기화와 반복의 조합을 사용합니다.
df.loc[0, 'C'] = df.loc[0, 'D']
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