offsets.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:PyDataLondon29-EmbarrassinglyParallelDAWithAWSLambda 作者: SignalMedia 项目源码 文件源码
def get_calendar(self, weekmask, holidays, calendar):
        '''Generate busdaycalendar'''
        if isinstance(calendar, np.busdaycalendar):
            if not holidays:
                holidays = tuple(calendar.holidays)
            elif not isinstance(holidays, tuple):
                holidays = tuple(holidays)
            else:
                # trust that calendar.holidays and holidays are
                # consistent
                pass
            return calendar, holidays

        if holidays is None:
            holidays = []
        try:
            holidays = holidays + calendar.holidays().tolist()
        except AttributeError:
            pass
        holidays = [self._to_dt64(dt, dtype='datetime64[D]') for dt in
                    holidays]
        holidays = tuple(sorted(holidays))

        kwargs = {'weekmask': weekmask}
        if holidays:
            kwargs['holidays'] = holidays

        try:
            busdaycalendar = np.busdaycalendar(**kwargs)
        except:
            # Check we have the required numpy version
            from distutils.version import LooseVersion

            if LooseVersion(np.__version__) < '1.7.0':
                raise NotImplementedError(
                    "CustomBusinessDay requires numpy >= "
                    "1.7.0. Current version: " + np.__version__)
            else:
                raise
        return busdaycalendar, holidays
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号