使用Panda的date_range创建一系列月度日期时遇到问题。 当我使用时:
import pandas as pd
offset = pd.DateOffset(months=3)
pd.bdate_range(dt.datetime(2018, 11, 30), periods=4, freq=offset, name='projected_date')
我得到以下日期:
['2018-11-30', '2019-02-28', '2019-05-28', '2019-08-28']
但是,我希望得到以下日期:
['2018-11-30', '2019-02-28', '2019-05-30', '2019-08-30']
似乎2月份的日期搞砸了所有后续日期。
有关如何解决此问题的任何想法?
答案 0 :(得分:0)
您的问题似乎就像某些月份时间序列可能需要一个月的某一天。为什么你需要一个月的某一天有什么理由或逻辑吗? 例如,我需要一个月的最后一天,除非是假期或周末,在这种情况下我需要前一天。
您应该使用pandas datetime module中的内置日期时间,而不是手动指定偏移量。在这种情况下,CustomBusinessDays
可用于定义某种类型的自定义业务月份,然后编写一段代码,以便
customcalendar = ['2012-05-01', datetime(2013, 5, 1), np.datetime64('2014-05-01')]
newCal= CustomBusinessDay(holidays=customcalendar)
pd.bdate_range(pd.datetime(2018, 11, 30), periods=4, freq=customcalendar,...)