利用Pandas 將前一行值合併到派生值的「應用」計算
在Pandas 中使用資料幀時,通常有必要執行涉及使用前一行值的計算。當先前的值也在“apply”函數中計算時,這可能具有挑戰性。
考慮以下資料框:
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,我們先複製以下值D 到第一行:
df.loc[0, 'C'] = df.loc[0, 'D']
現在,對於後續行,我們可以迭代資料幀並使用循環填充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 值由其先前的值以及A 和B 的相應值決定。產生的資料幀將如下所示:
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「應用」計算中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!