【问题标题】:Pandas frequency for every weekend每个周末的熊猫频率
【发布时间】:2020-08-25 06:36:11
【问题描述】:

我正在尝试使用带有外生变量的 ARIMA 进行一些时间序列分析,以预测犯罪趋势,但我遇到了一个问题。我只有周末的日期,所以我的频率基本上是每周 2 个索引条目,我一生都无法弄清楚如何将其设为频率……有什么想法吗?

例如,我可以毫无问题地制作每日时间序列

PeriodIndex(['2017-02-12', '2017-04-12', '2017-09-12', '2017-12-31',
             '2018-01-01', '2018-05-01', '2018-06-01', '2018-10-01',
             '2018-01-20', '2018-01-22',
             ...
             '2018-07-22', '2018-07-23', '2018-07-24', '2018-07-25',
             '2018-07-26', '2018-07-27', '2018-07-28', '2018-07-29',
             '2018-07-30', '2018-07-31'],
            dtype='period[D]', name='Row Labels', length=196, freq='D')

但由于我只想研究周末效应,我想只关注周六和周日,因此我可以使用一些时间序列回归来检查该序列。我可以通过删除变量并只关注两者之一来做到这一点......

DatetimeIndex(['2018-01-27', '2018-02-03', '2018-02-10', '2018-02-17',
               '2018-02-24', '2018-03-03', '2018-03-10', '2018-03-17',
               '2018-03-24', '2018-03-31', '2018-04-07', '2018-04-14',
               '2018-04-21', '2018-04-28', '2018-05-05', '2018-05-12',
               '2018-05-19', '2018-05-26', '2018-06-02', '2018-06-09',
               '2018-06-16', '2018-06-23', '2018-06-30', '2018-07-07',
               '2018-07-14', '2018-07-21', '2018-07-28', '2018-08-04'],
              dtype='datetime64[ns]', name='Row Labels', freq='W-SAT')

但是周六和周日我怎么能拿到它呢?

【问题讨论】:

  • 您能否举例说明您正在处理的数据以及您想要实现的目标?

标签: python pandas time-series


【解决方案1】:

我会重新采样到每日频率,然后使用

weekend_only = df[df.index.weekday >= 5]

其中dfpandas.DataFrameDateTimeIndex

weekday 属性 0-4 是周一到周五,周六到周日是 5-6。

有关详细信息,请参阅pandas user guide on Time Series

【讨论】:

  • 噢,这行得通!我以为它会破坏频率。谢谢!
猜你喜欢
  • 2018-07-24
  • 2017-05-28
  • 2014-02-05
  • 2020-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-05
相关资源
最近更新 更多