首頁 >後端開發 >Python教學 >如何將前一行值合併到帶有衍生值的 Pandas「應用」計算中?

如何將前一行值合併到帶有衍生值的 Pandas「應用」計算中?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-27 10:23:30417瀏覽

How to Incorporate Previous Row Values into Pandas 'apply' Calculations with Derived Values?

利用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn