python 使用DARTS从 Dataframe 创建每周时间序列

hfwmuf9z  于 2023-01-11  发布在  Python
关注(0)|答案(1)|浏览(271)

如何创建一个时间序列与 dart 有每周的频率?
当每周数据如下时:

import pandas as pd

df = pd.DataFrame({
    'Date' : [
        pd.to_datetime('2022-12-05'),
        pd.to_datetime('2022-12-02'),
        pd.to_datetime('2022-12-19'),
        pd.to_datetime('2022-12-26')],
    'Variable': [10,21,23,24]})

我正在努力获得正确的freq作为每周:

from darts import TimeSeries

# I use freq = day in order to not to get an error.
TimeSeries.from_dataframe(df, 'Date', "Variable", freq="d")
py49o6xq

py49o6xq1#

我不确定你的问题。你的数据已经是每周一次的了。这里似乎有一个日期的打字错误:pd.to_datetime('2022-12-02'),应该是pd.to_datetime('2022-12-02')
我不知道这是否是目的,但就我个人而言,我会处理数据(缺失数据、频率、等等),然后用darts创建一个TimeSeries对象。Numpy和/或panda是更大的库,它们具有这样的功能。Darts主要是一个构建在PyTorch之上的库(至少对于更复杂的模型是这样)。预先检查数据的质量也是一个很好的做法。
回到你的问题上,这应该能解决问题:

df = pd.DataFrame({
        'Date': [
            pd.to_datetime('2022-12-05'),
            pd.to_datetime('2022-12-12'),
            pd.to_datetime('2022-12-19'),
            pd.to_datetime('2022-12-26')],
        'Variable': [10, 21, 23, 24]})

    df.set_index('Date', inplace=True)  # set Date as index
    ts_object = TimeSeries.from_times_and_values(times=df.index,values=df['Variable'])

我猜你指的是2022-12-12而不是2022-12-02

相关问题