Skip to content

Commit f43a70a

Browse files
authored
FIX-1708: Don't sort indexes in Series functions with level parameter (#1830)
Signed-off-by: Anatoly Myachev <anatoly.myachev@intel.com>
1 parent a95ddf9 commit f43a70a

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

modin/pandas/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ def _handle_level_agg(self, axis, level, op, **kwargs):
125125
level: The level of the axis to apply the operation on
126126
op: String representation of the operation to be performed on the level
127127
"""
128-
return getattr(self.groupby(level=level, axis=axis), op)(**kwargs)
128+
return getattr(self.groupby(level=level, axis=axis, sort=False), op)(**kwargs)
129129

130130
def _validate_other(
131131
self,

modin/pandas/test/test_series.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
df_equals,
2929
arg_keys,
3030
name_contains,
31+
test_data,
3132
test_data_values,
3233
test_data_keys,
3334
test_string_data_values,
@@ -1802,6 +1803,24 @@ def test_last():
18021803
df_equals(modin_series.last("20D"), pandas_series.last("20D"))
18031804

18041805

1806+
def test_index_order():
1807+
# see #1708 for details
1808+
s_modin, s_pandas = create_test_series(test_data["dense_nan_data"])
1809+
rows_number = len(s_modin.index)
1810+
level_0 = np.random.choice([x for x in range(10)], rows_number)
1811+
level_1 = np.random.choice([x for x in range(10)], rows_number)
1812+
index = pandas.MultiIndex.from_arrays([level_0, level_1])
1813+
1814+
s_modin.index = index
1815+
s_pandas.index = index
1816+
1817+
for func in ["all", "any", "mad"]:
1818+
df_equals(
1819+
getattr(s_modin, func)(level=0).index,
1820+
getattr(s_pandas, func)(level=0).index,
1821+
)
1822+
1823+
18051824
@pytest.mark.parametrize("data", test_data_values, ids=test_data_keys)
18061825
def test_last_valid_index(data):
18071826
modin_series, pandas_series = create_test_series(data)

0 commit comments

Comments
 (0)