【问题标题】:pandas date_range does not exclude holidayspandas date_range 不排除节假日
【发布时间】:2021-11-26 13:55:18
【问题描述】:

我一直试图从我的 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,但结果相同

【问题讨论】:

  • 我收到日期时间警告,但我的环境 pandas1.2.5 Colab 环境 pandas1.1.5 和最新版本 1.3.3 不显示第 7 和第 27。你用的是什么版本?
  • 谢谢,我刚看了看,有一个旧版本的熊猫。将更新到最新版本,看看它是否有效
  • 刚刚成功更新了软件包,现在一切正常。谢谢

标签: python pandas date-range


【解决方案1】:

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

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 从自己的库中导入它。

【讨论】:

  • 是的,我正在通过 jupyter/python 3 运行它。已编辑问题以显示我的输出截图
【解决方案2】:

代替
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)]

【讨论】:

  • 谢谢,也试过了,但结果一样。更新了我的问题以反映相同
  • 很可能你有一个过时的熊猫版本。我正在使用 1.1.5 版本(colab),它似乎可以工作。
  • 谢谢,我需要更新库并更改上面显示的代码以使其在我身边工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-14
  • 2018-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多