繁体   English   中英

pandas date_range 不排除节假日

[英]pandas date_range does not exclude holidays

我一直试图从我的 pandas bdate_range 结果中排除一组日期,但由于某种原因它们不断出现。

我正在关注此处https://pandas.pydata.org/docs/reference/api/pandas.bdate_range.html中的注释,即应用 bdate_range 和 freq='C'。 我认为我从列表中排除的设置不正确,但在运行脚本时没有看到任何错误抛出。

示例代码如下。 有谁能看到我做错了什么? 宁愿 bdate_range 工作而不是放置某种解决方法

import pandas as pd  
import datetime

exclude = [pd.datetime(2020, 1, 7), pd.datetime(2020, 1, 27)]

pd.bdate_range('2020/1/1','2020/1/31',freq='C',  holidays=exclude, )

结果仍然包括我试图排除的第 7 和第 27

DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-06',
               '2020-01-07', '2020-01-08', '2020-01-09', '2020-01-10',
               '2020-01-13', '2020-01-14', '2020-01-15', '2020-01-16',
               '2020-01-17', '2020-01-20', '2020-01-21', '2020-01-22',
               '2020-01-23', '2020-01-24', '2020-01-27', '2020-01-28',
               '2020-01-29', '2020-01-30', '2020-01-31'],
              dtype='datetime64[ns]', freq='C')

结果截图

也尝试按照建议使用 from datetime,但结果相同

从日期时间开始使用

你确定你正在执行你在这里与我们分享的同样的事情吗? 我刚刚运行了你的代码,它似乎排除了你提到的日期:

DatetimeIndex(['2020-01-01', '2020-01-02', '2020-01-03', '2020-01-06',
               '2020-01-08', '2020-01-09', '2020-01-10', '2020-01-13',
               '2020-01-14', '2020-01-15', '2020-01-16', '2020-01-17',
               '2020-01-20', '2020-01-21', '2020-01-22', '2020-01-23',
               '2020-01-24', '2020-01-28', '2020-01-29', '2020-01-30',
               '2020-01-31'],
              dtype='datetime64[ns]', freq='C')

如果您收到弃用警告,请不要使用pd.datetime ,而是使用from datetime import datetime从它自己的库中导入它。

代替
import datetime

from datetime import datetime
而不是
exclude = [pd.datetime(2020, 1, 7), pd.datetime(2020, 1, 27)]

exclude = [datetime(2020, 1, 7), datetime(2020, 1, 27)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM