利用Pandas 的apply 函數根據前一行值計算值
在Pandas 中,apply 函數允許應用自訂函數到DataFrame 的每一行。當計算需要引用 DataFrame 中前一行的值時,這特別有用。
考慮以下場景:我們有一個包含 A、B、C 和 D 欄位的 DataFrame。我們需要計算 C 列第一行作為 D 列的值。隨後,透過將前一行的 C 值乘以目前行的 A 值並加上目前行的 B 值來計算後續行的 C。
儘管嘗試使用 apply 和 shift,由於應用函數中也發生了 C 的計算,我們遇到了一個關鍵錯誤。為了解決這個問題,我們可以用以下方法:
明確計算第一行:
迭代併計算後續行:
利用for 循環迭代剩餘的行,計算每行的C,如下所示:
透過遵循此方法,我們確保在計算後續行的值之前每行的C 可用。產生的 DataFrame 將與所需的輸出對齊:
Index_Date A B C D 0 2015-01-31 10 10 10 10 1 2015-02-01 2 3 23 22 2 2015-02-02 10 60 290 280
以上是如何使用 pandas\' apply 函數根據前一行資料計算值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!