Skip to content

Commit 467712e

Browse files
NoyHananYi Wei
authored and
Yi Wei
committed
TST: Added test for sort_index parameter multiindex 'sort_remaining' = False (pandas-dev#53076)
1 parent beaeaf0 commit 467712e

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

pandas/tests/frame/methods/test_sort_index.py

+29
Original file line numberDiff line numberDiff line change
@@ -914,3 +914,32 @@ def test_sort_index_na_position(self):
914914
expected = df.copy()
915915
result = df.sort_index(level=[0, 1], na_position="last")
916916
tm.assert_frame_equal(result, expected)
917+
918+
@pytest.mark.parametrize("ascending", [True, False])
919+
def test_sort_index_multiindex_sort_remaining(self, ascending):
920+
# GH #24247
921+
df = DataFrame(
922+
{"A": [1, 2, 3, 4, 5], "B": [10, 20, 30, 40, 50]},
923+
index=MultiIndex.from_tuples(
924+
[("a", "x"), ("a", "y"), ("b", "x"), ("b", "y"), ("c", "x")]
925+
),
926+
)
927+
928+
result = df.sort_index(level=1, sort_remaining=False, ascending=ascending)
929+
930+
if ascending:
931+
expected = DataFrame(
932+
{"A": [1, 3, 5, 2, 4], "B": [10, 30, 50, 20, 40]},
933+
index=MultiIndex.from_tuples(
934+
[("a", "x"), ("b", "x"), ("c", "x"), ("a", "y"), ("b", "y")]
935+
),
936+
)
937+
else:
938+
expected = DataFrame(
939+
{"A": [2, 4, 1, 3, 5], "B": [20, 40, 10, 30, 50]},
940+
index=MultiIndex.from_tuples(
941+
[("a", "y"), ("b", "y"), ("a", "x"), ("b", "x"), ("c", "x")]
942+
),
943+
)
944+
945+
tm.assert_frame_equal(result, expected)

0 commit comments

Comments
 (0)