gpt4 book ai didi

python - 在 Pandas 中高效地进行行间计算

转载 作者:行者123 更新时间:2023-11-30 23:05:50 26 4
gpt4 key购买 nike

我有一个 pandas 数据框,如下所示:

Date          A B C D
2015-08-07 1 2 4 5
2015-08-06 5 6 2 5
2015-08-05 9 6 3 0
...
2015-09-01 3 4 6 7

我需要生成一个新的数据框,其中行值变为前一天的逐日变化。

Date         A  B  C D
2015-08-07 -4 -4 2 0 # 2015-08-07 data minus the 2015-08-06 data
2015-08-06 -4 0 -1 5
...
2015-09-02

我可以用怪诞的 for 循环和令人讨厌的索引黑客来做到这一点,但我确信在 pandas 中会有更优雅的方法来做到这一点(相当于矢量化与 for 循环)。谁能建议正确的 pandas 方法?

最佳答案

调用diff并传递 -1 向上移动一个周期:

In [69]:
df.diff(-1)
Out[69]:
Date A B C D
0 1 days -4 -4 2 0
1 1 days -4 0 -1 5
2 -27 days 6 2 -3 -7
3 NaT NaN NaN NaN NaN

此外,您几乎不需要逐行迭代,因此避免使用 for 循环、applyiterrows 等...

关于python - 在 Pandas 中高效地进行行间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32992245/

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