我必须按时间顺序排列日期才能使用熊猫吗.DataFrame.ewm



我需要为csv文件中日期在descending order中的一组数据计算EMA

当我应用pandas.DataFrame.ewm时,我会得到等于该值的最新(按日期(的EMA。这是因为ewmDataFrame中从上到下开始观察。

到目前为止,我找不到使ewm反向的选项。所以我想,我将不得不反转我的所有数据集。

也许有人知道如何让ewm从底层价值出发?还是建议始终使用按时间排序的datetimeindex?从顶部的最旧值到底部的最新值?

来自熊猫的文档:

与观察结果相对应的时间。必须是单调递增的,datetime64[ns]数据类型。

我想,datetimeindex必须是按时间顺序排列的。。

您可以简单地临时重置索引。

df.index.name = 'date' # IF YOU HAVEN'T SET A NAME YET
df = df.reset_index(drop=False)
# PERFORM EWM OPERATIONS

然后将其设置回原来的DateTimeIndex

df = df.set_index('date')

我在这里提出了一个类似的问题:在pandas数据帧中以相反的日期顺序滚动窗口?

其中的结论选项是:

  • 双反向
  • 排序

双反向是优选的,因为排序是";昂贵的";(尽管我自己并没有将两者进行比较(。

最新更新