Pandas 利用截尾日期计算DatetimeIndex的有效方法

Pandas 利用截尾日期计算DatetimeIndex的有效方法,pandas,datetimeindex,Pandas,Datetimeindex,所以我可以用蛮力来做,但是速度太慢了,所以我肯定我错过了什么 假设我想创建一个固定长度的(每日)DatetimeIndex,比如说15天,但是有一些注意事项: 如果15天指数在周末结束,那么它实际上在指数的最后一个星期五结束,并且 如果15天期间包含审查日期,则审查日期不计入15天计数。经过审查的日期可能会超过15天 为了详细说明第2点,假设我从2018-01-01开始,但2018-01-12到2018-02-14都是经过审查的,所以我的15天期限可能是(暴力法): 其中: Datetime

所以我可以用蛮力来做,但是速度太慢了,所以我肯定我错过了什么

假设我想创建一个固定长度的(每日)DatetimeIndex,比如说15天,但是有一些注意事项:

  • 如果15天指数在周末结束,那么它实际上在指数的最后一个星期五结束,并且
  • 如果15天期间包含审查日期,则审查日期不计入15天计数。经过审查的日期可能会超过15天
为了详细说明第2点,假设我从2018-01-01开始,但2018-01-12到2018-02-14都是经过审查的,所以我的15天期限可能是(暴力法):

其中:

DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-08', '2018-01-09', '2018-01-10',
               '2018-01-11', '2018-02-15', '2018-02-16'],
              dtype='datetime64[ns]', freq=None)
这是正确的。请注意,我忽略了最终索引中的所有周末,但没有将它们包括在审查日期值中,因为这会通过实际不计算周末的方式将15天的时间推到外面。该指数计算周末(但不使用周末),如果计算值在周末到达,则只需在周末前的周五结束


上述情况显然是一团糟。我希望有一种更干净的方法来做到这一点,特别是避免预先构建比我开始需要的更长的索引,以及多个中间列表结构?

似乎您需要工作日和一个自定义假日日历来确定您的审查日期。你看过以前没听说过的东西吗,谢谢!由于我的条件2的工作方式,因此不适用于本应用程序;该模块需要开始和结束日期,因为它只是简单地包装了一系列(北美?)假期,以方便过滤。
DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04',
               '2018-01-05', '2018-01-08', '2018-01-09', '2018-01-10',
               '2018-01-11', '2018-02-15', '2018-02-16'],
              dtype='datetime64[ns]', freq=None)