迭代数据框并获取过去30天产品的最简单方法

时间:2014-06-18 20:36:09

标签: python pandas

如果我有一个使用DateTime列索引的数据框,并且列A填充了float,那么创建一个列B的最有效方法是将所有值的所有单个产品作为其值任何特定的行可以追溯到30天。

1 个答案:

答案 0 :(得分:2)

使用pandas的rolling_apply函数:

df['B'] = rolling_apply(df.A, 30, numpy.prod)

我假设您的索引是每天,否则,您需要修改第二个参数
我设置为30

pandas具有许多所谓滚动视野的标准统计数据,例如滚动平均值或滚动标准偏差。据我所见,该产品不属于它,因此您必须以上述方式自行定义。有关详细信息,请参阅pandas doc on computing individual statistics