diff --git a/python/xorbits/_mars/dataframe/groupby/aggregation.py b/python/xorbits/_mars/dataframe/groupby/aggregation.py index 1d038944b..1363831ae 100644 --- a/python/xorbits/_mars/dataframe/groupby/aggregation.py +++ b/python/xorbits/_mars/dataframe/groupby/aggregation.py @@ -1186,6 +1186,13 @@ def _execute_combine(cls, ctx, op: "DataFrameGroupByAgg"): combines.append( cls._do_predefined_agg(input_obj, agg_func_name, gpu=op.gpu, **kwds) ) + for i, combine in enumerate(combines): + if ( + isinstance(combine.index, xdf.MultiIndex) + and op.groupby_params["sort"] is True + and not combine.index.is_monotonic_increasing + ): + combines[i] = combine.sort_index() ctx[op.outputs[0].key] = tuple(combines) @classmethod