[英]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.