Создайте список конкретных дат каждый месяц - PullRequest
0 голосов
/ 12 марта 2019

Я хотел бы получить список 1-го, 6-го, 11-го, 16-го, 21-го, 26-го числа каждого месяца за период с ноября по март.

Единственный код, который мне известен, однако, считает 5-дневный интервал между датами начала и окончания, и это не дает желаемого результата.

daterange = pd.date_range('1982-11-01','1983-03-30' , freq='5D') 
daterange = daterange.union([daterange[-1] + 1])  
daterange = [d.strftime('%Y-%b-%d') for x in daterange]

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Меня смущает то, что вы хотите.

daterange = pd.date_range('1982-11-01','1983-03-30', freq='5D')

for d in daterange:
    print(d)

Вывод:

1982-11-01 00:00:00
1982-11-06 00:00:00
1982-11-11 00:00:00
1982-11-16 00:00:00
1982-11-21 00:00:00
1982-11-26 00:00:00
1982-12-01 00:00:00
1982-12-06 00:00:00
1982-12-11 00:00:00
...
0 голосов
/ 12 марта 2019

Вы не предоставляете много информации о вашем ожидаемом результате, но простые циклы for могут получить список дат, которые вы ищете:

import datetime

periods = [(1982, 11), (1982, 12), (1983, 1), (1983, 2), (1983, 3)]
date_list = [
    datetime.date(y, m, d)
    for y, m in periods
    for d in [1, 6, 11, 16, 21, 26]]

Это то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...