代码之家  ›  专栏  ›  技术社区  ›  Aquiles Páez

使用“每周工作日”频率构建日期向量。

  •  0
  • Aquiles Páez  · 技术社区  · 6 年前

    date_vector=pd.date_range(start='12/31/2006', end='01/31/2007', freq='W')
    

    结果如下:

    [Timestamp('2006-12-31 00:00:00', freq='W-SUN'), Timestamp('2007-01-07 00:00:00', freq='W-SUN'), Timestamp('2007-01-14 00:00:00', freq='W-SUN'), Timestamp('2007-01-21 00:00:00', freq='W-SUN'), Timestamp('2007-01-28 00:00:00', freq='W-SUN')]
    

    如你所知,每个报告的日期都是星期天。但我希望是每周五(工作周结束时)。在大熊猫身上也有这种可能吗?我在Pandas文档中搜索了date\u范围内可用的不同频率( here

    我建议的解决方案是一个列表理解,对于这个列表中的每个元素,我会计算出是否是星期天,如果是这样的话,应用-2的timedelta将它延迟到星期五。但不确定这是否是最有效的,我想看看这里是否有人能提出更好的建议。

    2 回复  |  直到 6 年前
        1
  •  2
  •   BENY    6 年前

    你可以使用 freq='W-Fri'

    date_vector=pd.date_range(start='12/31/2006', end='01/31/2007', freq='W-Fri')
    date_vector
    Out[1228]: DatetimeIndex(['2007-01-05', '2007-01-12', '2007-01-19', '2007-01-26'], dtype='datetime64[ns]', freq='W-FRI')
    
        2
  •  1
  •   Lev Zakharov Riss    6 年前

    'W-FRI' freq :

    date_vector=pd.date_range(start='12/31/2006', end='01/31/2007', freq='W-FRI')
    

    结果:

    DatetimeIndex(['2007-01-05', '2007-01-12', '2007-01-19', '2007-01-26'], dtype='datetime64[ns]', freq='W-FRI')
    

    检查 this 文档。