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