From 2cec5feeb5dd3c24449167d0d0db10812e611819 Mon Sep 17 00:00:00 2001 From: galipremsagar Date: Thu, 14 Dec 2023 01:10:52 +0000 Subject: [PATCH] Fix stack ordering --- python/cudf/cudf/core/dataframe.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/python/cudf/cudf/core/dataframe.py b/python/cudf/cudf/core/dataframe.py index 3118dfa4490..50fe5adebf8 100644 --- a/python/cudf/cudf/core/dataframe.py +++ b/python/cudf/cudf/core/dataframe.py @@ -6749,11 +6749,11 @@ def stack(self, level=-1, dropna=True): cat 1.0 2.0 dog 3.0 4.0 >>> df_multi_level_cols2.stack() - height weight - cat kg 1.0 - m 2.0 - dog kg 3.0 - m 4.0 + weight height + cat kg 1.0 + m 2.0 + dog kg 3.0 + m 4.0 **Prescribing the level(s) to be stacked** @@ -6925,10 +6925,18 @@ def unnamed_group_generator(): else: if unnamed_level_values.nlevels == 1: unnamed_level_values = unnamed_level_values.get_level_values(0) - unnamed_level_values = unnamed_level_values.unique().sort_values() + unnamed_level_values = unnamed_level_values.unique() data = ColumnAccessor( - dict(zip(unnamed_level_values, stacked)), + dict( + zip( + unnamed_level_values, + [ + stacked[i] + for i in unnamed_level_values.argsort().argsort() + ], + ) + ), isinstance(unnamed_level_values, pd.MultiIndex), unnamed_level_values.names, )