如果我有一个使用DateTime列索引的数据框,并且列A填充了float,那么创建一个列B的最有效方法是将所有值的所有单个产品作为其值任何特定的行可以追溯到30天。
答案 0 :(得分:2)
使用pandas的rolling_apply函数:
df['B'] = rolling_apply(df.A, 30, numpy.prod)
我假设您的索引是每天,否则,您需要修改第二个参数
我设置为30
。
pandas具有许多所谓滚动视野的标准统计数据,例如滚动平均值或滚动标准偏差。据我所见,该产品不属于它,因此您必须以上述方式自行定义。有关详细信息,请参阅pandas doc on computing individual statistics。