BUG: make CustomBusinessDay respect provided calendar; require numpy.… #62851
+27 −0
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
doc/source/whatsnew/v3.0.0.rstfile if fixing a bug or adding a new feature.Description
This PR fixes a bug in
CustomBusinessDaywhere the calendar parameter validation was not properly enforced, allowing invalid calendar objects (likepandas_market_calendarsobjects) to be passed without raising appropriate errors.Problem
The issue reported that
CustomBusinessDaywas not properly respecting calendar holiday dates when usingpandas_market_calendars. The root cause was that the validation logic in_get_calendar()function was not properly checking for invalid calendar types before attempting to use them.Solution
Added proper validation in the
_get_calendar()function to:numpy.busdaycalendarinstanceTypeErrorwith helpful error message whenpandas_market_calendarsobjects are passed.holidays()result instead)Changes Made
_get_calendar()function inpandas/_libs/tslibs/offsets.pyxto validate calendar parameter typepandas_market_calendarsobjects with clear error messagetest_custom_business_day.pyto verify the validation behaviorTesting
test_calendar_validation()to verify proper error handlingImpact
This is a bug fix that improves error handling and provides clearer guidance to users about proper calendar usage. It does not change the behavior for valid inputs but provides better error messages for invalid usage patterns.