gpt4 book ai didi

python - 如何将一个值与 pandas 数据框的前一行值相加?

转载 作者:太空宇宙 更新时间:2023-11-04 00:03:07 26 4
gpt4 key购买 nike

我有一个数据框,其中前两行如下所示:

             GOOG    AAPL    XOM    IBM      Cash
2009-01-14 0.0 150.0 0.0 0.0 -12745.5
2009-01-15 0.0 0.0 0.0 0.0 -0.0

我希望它为每一行添加前几行的值。所以我希望它看起来像这样:

             GOOG    AAPL    XOM    IBM      Cash
2009-01-14 0.0 150.0 0.0 0.0 -12745.5
2009-01-15 0.0 150.0 0.0 0.0 -0.0

我不希望它影响现金栏。

有没有办法在 pandas 中轻松做到这一点?

最佳答案

使用DataFrame.cumsum仅适用于按 Index.difference 过滤的列:

c = df.columns.difference(['Cash'])
df[c] = df[c].cumsum()
print (df)
GOOG AAPL XOM IBM Cash
2009-01-14 0.0 150.0 0.0 0.0 -12745.5
2009-01-15 0.0 150.0 0.0 0.0 -0.0

或按条件 DataFrame.loc :

c = df.columns != 'Cash'
df.loc[:, c] = df.loc[:, c].cumsum()

关于python - 如何将一个值与 pandas 数据框的前一行值相加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55085995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com