繁体   English   中英

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

[英]Create weekly time series with DARTS from dataframe

如何创建具有每周频率的飞镖的时间序列?

当每周数据如下时:

import pandas as pd

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]}) 

我很难每周获得正确的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")

我不确定你的问题。 您的数据已经是每周一次。 此处的日期似乎有错字: pd.to_datetime('2022-12-02') ,应该是pd.to_datetime('2022-12-02')

我不知道这是否是目的,但就个人而言,在使用飞镖创建 TimeSeries object 之前,我会使用 numpy 或 pandas 处理数据(缺失数据、频率等)。 Numpy 和/或 pandas 是具有执行此功能的较大库。 预先检查数据质量也是一种很好的做法。

回到你的问题,那应该可以解决问题:

    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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM