簡體   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