File tree 2 files changed +12
-1
lines changed
2 files changed +12
-1
lines changed Original file line number Diff line number Diff line change @@ -53,7 +53,7 @@ def recode_for_groupby(
53
53
unique_codes = unique1d (c .codes )
54
54
55
55
take_codes = unique_codes [unique_codes != - 1 ]
56
- if c . ordered :
56
+ if sort :
57
57
take_codes = np .sort (take_codes )
58
58
59
59
# we recode according to the uniques
Original file line number Diff line number Diff line change @@ -502,6 +502,15 @@ def __init__(
502
502
self ._group_index ,
503
503
) = index ._get_grouper_for_level (mapper , level = ilevel , dropna = dropna )
504
504
505
+ if is_categorical_dtype (self .grouping_vector ):
506
+ self ._passed_categorical = True
507
+ self ._orig_cats = self .grouping_vector .categories
508
+
509
+ # Should the sort arg be just `sort` or `sort or self.grouping_vector.ordered`?
510
+ self .grouping_vector , self ._all_grouper = recode_for_groupby (
511
+ self .grouping_vector , sort , observed
512
+ )
513
+
505
514
# a passed Grouper like, directly get the grouper in the same way
506
515
# as single grouper groupby, use the group_info to get codes
507
516
elif isinstance (self .grouping_vector , Grouper ):
@@ -529,6 +538,8 @@ def __init__(
529
538
self ._passed_categorical = True
530
539
531
540
self ._orig_cats = self .grouping_vector .categories
541
+
542
+ # Should the sort arg be just `sort` or `sort or self.grouping_vector.ordered`?
532
543
self .grouping_vector , self ._all_grouper = recode_for_groupby (
533
544
self .grouping_vector , sort , observed
534
545
)
You can’t perform that action at this time.
0 commit comments