Используя pandas
, вы можете создать ежемесячную серию дат.Создание ежемесячных временных рядов с произвольными датами начала работы
import pandas as pd
pd.date_range('2012-04-23', '2013-01-23', freq='BM')
DatetimeIndex(['2012-04-30', '2012-05-31', '2012-06-29', '2012-07-31',
'2012-08-31', '2012-09-28', '2012-10-31', '2012-11-30',
'2012-12-31'],
dtype='datetime64[ns]', freq='BM')
Обратите внимание, что даты в DatetimeIndex
в месяц заканчивается. Я знаю, что следует подумать, что я выбрал freq='BM'
, но я не считаю, что у меня был выбор, который бы выполнил мою цель.
Я часто нуждаюсь в производстве ежемесячной серии дат, начиная с последнего рабочего дня, возвращающегося во времени каждый месяц.
Я хотел бы видеть вместо этого:
DatetimeIndex(['2012-04-23', '2012-05-23', '2012-06-23', '2012-07-23',
'2012-08-23', '2012-09-23', '2012-10-23', '2012-11-23',
'2012-12-23'],
dtype='datetime64[ns]', freq=None)
или другой более сложный пример, может быть, чтобы получить месяцев от «2012-01-30» до «2012-04-30». Я бы ожидал увидеть:
DatetimeIndex(['2012-01-30', '2012-02-29', '2012-03-30', '2012-04-30'],
dtype='datetime64[ns]', freq=None)
Я не понимаю. То, что вы только что попросили, похоже, не то, что вы хотели бы видеть, т. Е. Верхний DatetimeIndex * - * последний рабочий день месяца, возвращающийся во времени. – Alexander
@Alexander Это результат того, что я не знаю, как поставить аргумент 'freq'. Я не хотел выпускать ежедневно, что, по моему мнению, является дефолтом. – piRSquared
Итак, сегодня 6 мая (уже?!? ...). 6 марта - воскресенье. Что бы вы хотели посмотреть? 4 марта (пятница)? – Alexander