我需要计算来自csv文件的一组数据的EMA,其中日期在descending order中。
当我应用pandas.DataFrame.ewm时,我得到了最新值(按日期)等于该值的均衡器。这是因为ewm在DataFrame中从上到下开始观察。
到目前为止,我还没有找到使ewm反转的选项。所以我想,我将不得不逆转我所有的数据集。
也许有人知道如何让ewm从底部开始呢?还是建议始终使用按时间顺序排序的datetimeindex?从最古老的值到底部的最新值?
发布于 2020-12-18 19:20:33
来自熊猫的文件:
时间对应的观测结果。必须是单调增长和datetime64ns的d型。
我想,日期索引一定是按时间顺序排列的。
发布于 2020-12-18 22:59:05
您只需暂时重置索引即可。
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')发布于 2022-09-06 09:39:16
我在这里提出了一个类似的问题:rolling window in pandas dataframe in reverse date order?
结论性备选方案如下:
双reverse
因为排序是“昂贵的”(虽然我自己还没有将两者进行比较),所以更倾向于采用双反向排序。
https://stackoverflow.com/questions/65362721
复制相似问题