熊猫date_range从每周的特定日期开始,每周一次

时间:2018-12-19 05:09:49

标签: python pandas datetime

寻找一种复杂的方式来遍历日期范围,并且仅在每个星期日运行。

import pandas

for da in pandas.date_range("20181101","20181217",freq='B'):
    runJob()

但是是否有一些选项可以在日期范围内的每个星期日运行循环?

1 个答案:

答案 0 :(得分:1)

设置User仅指定星期日:

freq='W-SUN'

进行一点交叉检查...

pd.date_range("20181101", "20181217", freq='W-SUN')

DatetimeIndex(['2018-11-04', '2018-11-11', '2018-11-18', '2018-11-25',
               '2018-12-02', '2018-12-09', '2018-12-16'],
              dtype='datetime64[ns]', freq='W-SUN')

实际上,只要指定的偏移量的格式为dt = pd.date_range("20181101", "20181217", freq='W-SUN') assert dt.strftime('%A').unique().tolist() == ['Sunday'] ,就可以将锚点指定为星期几。

在这种情况下,默认值实际上是星期日,因此仅使用"W-<day_of_week>"就足够了。

freq='W'

有关更多信息,请参见Anchored Date Offsets上的“文档”部分。