我是否必须按时间顺序对日期进行排序才能使用 pandas.DataFrame.ewm?
Do I have to sort dates chronologically to use pandas.DataFrame.ewm?
我需要为来自 csv 文件的一组数据计算 EMA
,其中日期在 descending order
。
当我应用 pandas.DataFrame.ewm
时,我得到了等于该值的最新(按日期)的 EMA。这是因为ewm
在DataFrame
.
开始从上到下观察
到目前为止,我找不到为 ewm
反转的选项。所以我想,我将不得不反转我所有的数据集。
也许有人知道如何使 ewm
从底部值开始?
还是建议始终使用 datetimeindex
按时间顺序排序?从顶部最旧的值到底部的最新值?
来自 pandas' 文档:
Times corresponding to the observations. Must be monotonically increasing and datetime64[ns] dtype.
我想,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')
我需要为来自 csv 文件的一组数据计算 EMA
,其中日期在 descending order
。
当我应用 pandas.DataFrame.ewm
时,我得到了等于该值的最新(按日期)的 EMA。这是因为ewm
在DataFrame
.
到目前为止,我找不到为 ewm
反转的选项。所以我想,我将不得不反转我所有的数据集。
也许有人知道如何使 ewm
从底部值开始?
还是建议始终使用 datetimeindex
按时间顺序排序?从顶部最旧的值到底部的最新值?
来自 pandas' 文档:
Times corresponding to the observations. Must be monotonically increasing and datetime64[ns] dtype.
我想,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')