在Pandas DataFrame中添加变化率列

10

我有以下 Pandas DataFrame:

    lastrun                                value 
0   2013-10-24 13:10:05+00:00              55376
1   2013-10-24 14:10:32+00:00              56738
2   2013-10-24 15:52:31+00:00              58239
3   2013-10-24 23:52:09+00:00              59981
4   2013-10-25 00:52:04+00:00              61001

我想在数据帧中添加一个变化率列,以获得:

    lastrun                                value    change 
0   2013-10-24 13:10:05+00:00              55376    NaN
1   2013-10-24 14:10:32+00:00              56738    1362
2   2013-10-24 15:52:31+00:00              58239    1501
3   2013-10-24 23:52:09+00:00              59981    1742
4   2013-10-25 00:52:04+00:00              61001    1020

我知道可以使用pct_change()找到百分数变化,但我不知道如何将其包含为现有DataFrame中的新列,并且我正在寻找实际值而不是百分数变化。

在pandas(或python,numpy)中最有效的方法是什么?


5
如果您刚开始接触Python,FYI(供参考),如果frame是任何对象,那么dir(frame)将显示出该对象的成员列表(方法、属性)。这非常有用,因为您可以尝试可能的选项和/或在Google上搜索它们。 - Marcin
1个回答

15
你可以使用diff方法:
df['new_column'] = df['source_column'].diff()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接