簡體   English   中英

熊貓date_range從每周的特定日期開始,每周一次

[英]Pandas date_range on a weekly basis starting with a particular day of the week

尋找一種復雜的方式遍歷日期范圍並僅在每個星期日運行。

import pandas

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

但是,是否有一些選項可以在日期范圍內的每個星期日運行循環?

設置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'就足夠了。

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

有關更多信息,請參見“ 錨定日期偏移量”上的“文檔”部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM