@@ -496,11 +496,28 @@ def test_sort_index_duplicates(self):
496
496
def test_sort_index_level (self ):
497
497
mi = MultiIndex .from_tuples ([[1 , 1 , 3 ], [1 , 1 , 1 ]], names = list ('ABC' ))
498
498
df = DataFrame ([[1 , 2 ], [3 , 4 ]], mi )
499
- res = df .sort_index (level = 'A' , sort_remaining = False )
500
- assert_frame_equal (df , res )
501
499
502
- res = df .sort_index (level = ['A' , 'B' ], sort_remaining = False )
503
- assert_frame_equal (df , res )
500
+ result = df .sort_index (level = 'A' , sort_remaining = False )
501
+ expected = df
502
+ assert_frame_equal (result , expected )
503
+
504
+ result = df .sort_index (level = ['A' , 'B' ], sort_remaining = False )
505
+ expected = df
506
+ assert_frame_equal (result , expected )
507
+
508
+ # Error thrown by sort_index when
509
+ # first index is sorted last (#26053)
510
+ result = df .sort_index (level = ['C' , 'B' , 'A' ])
511
+ expected = df .iloc [[1 , 0 ]]
512
+ assert_frame_equal (result , expected )
513
+
514
+ result = df .sort_index (level = ['B' , 'C' , 'A' ])
515
+ expected = df .iloc [[1 , 0 ]]
516
+ assert_frame_equal (result , expected )
517
+
518
+ result = df .sort_index (level = ['C' , 'A' ])
519
+ expected = df .iloc [[1 , 0 ]]
520
+ assert_frame_equal (result , expected )
504
521
505
522
def test_sort_index_categorical_index (self ):
506
523
0 commit comments