42
42
from pandas .tseries .frequencies import to_offset , get_period_alias , Resolution
43
43
from pandas .core .indexes .datetimelike import (
44
44
DatelikeOps , TimelikeOps , DatetimeIndexOpsMixin )
45
+ from pandas .core .indexes .category import CategoricalIndex
45
46
from pandas .tseries .offsets import (
46
47
DateOffset , generate_range , Tick , CDay , prefix_mapping )
47
48
55
56
from pandas ._libs import (lib , index as libindex , tslib as libts ,
56
57
join as libjoin , Timestamp )
57
58
from pandas ._libs .tslibs import (timezones , conversion , fields , parsing ,
58
- ccalendar ,
59
- resolution as libresolution )
59
+ resolution as libresolution , ccalendar )
60
60
61
61
# -------- some conversion wrapper functions
62
62
@@ -2511,7 +2511,9 @@ def month_name(self, locale=None):
2511
2511
result = fields .get_date_name_field (values , 'month_name' ,
2512
2512
locale = locale )
2513
2513
result = self ._maybe_mask_results (result )
2514
- return Index (result , name = self .name )
2514
+ return CategoricalIndex (result , ordered = True ,
2515
+ categories = ccalendar .MONTHS_FULL [1 :],
2516
+ name = self .name )
2515
2517
2516
2518
def day_name (self , locale = None ):
2517
2519
"""
@@ -2537,7 +2539,8 @@ def day_name(self, locale=None):
2537
2539
result = fields .get_date_name_field (values , 'day_name' ,
2538
2540
locale = locale )
2539
2541
result = self ._maybe_mask_results (result )
2540
- return Index (result , name = self .name )
2542
+ return CategoricalIndex (result , ordered = True , name = self .name ,
2543
+ categories = ccalendar .DAYS_FULL )
2541
2544
2542
2545
2543
2546
DatetimeIndex ._add_comparison_methods ()
0 commit comments