代码之家  ›  专栏  ›  技术社区  ›  HR_quantile

如何以X分钟/小时/秒的频率使用pd.data_range()?

  •  0
  • HR_quantile  · 技术社区  · 4 年前

    我需要为pandas创建一个频繁的日期范围 date_range() 。这与 frequency=... 参数。 但有时我的代码需要更长频率的这些频繁范围。例如 4 小时或 5 分钟而不是一分钟。

    我该怎么做 pd.date_range(first_X_datetime, last_X_datetime, freq=frequency) ?

    如果没有更有效的方法,我的想法是创建一个pd.date_range,然后删除未包含的索引。但如何做到这一点呢? (目前我想不出更好的方法)

    0 回复  |  直到 4 年前
        1
  •  0
  •   Quan Nguyen    4 年前

    您始终可以根据需要自定义频率,而不仅仅是 1 hour 1 minute .

    In [237]: pd.date_range(start, end, freq='2h20min')
    Out[237]: 
    DatetimeIndex(['2011-01-01 00:00:00', '2011-01-01 02:20:00',
                   '2011-01-01 04:40:00', '2011-01-01 07:00:00',
                   '2011-01-01 09:20:00', '2011-01-01 11:40:00',
                   '2011-01-01 14:00:00', '2011-01-01 16:20:00',
                   '2011-01-01 18:40:00', '2011-01-01 21:00:00'],
                  dtype='datetime64[ns]', freq='140T')
    
    In [238]: pd.date_range(start, end, freq='1D10U')
    Out[238]: 
    DatetimeIndex([       '2011-01-01 00:00:00', '2011-01-02 00:00:00.000010',
                   '2011-01-03 00:00:00.000020', '2011-01-04 00:00:00.000030',
                   '2011-01-05 00:00:00.000040', '2011-01-06 00:00:00.000050',
                   '2011-01-07 00:00:00.000060', '2011-01-08 00:00:00.000070',
                   '2011-01-09 00:00:00.000080', '2011-01-10 00:00:00.000090'],
                  dtype='datetime64[ns]', freq='86400000010U')
    

    请在此处查看更多信息:

    https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#timeseries-offset-aliases

    https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.date_range.html