[英]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.