为Pandas DataFrame添加更改率

时间:2013-11-07 13:34:43

标签: python numpy pandas

我有以下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)中实现此目的的最有效方法是什么?

1 个答案:

答案 0 :(得分:8)

您可以使用diff方法:

df['new_column'] = df['source_column'].diff()