diff --git a/dask_expr/_shuffle.py b/dask_expr/_shuffle.py index 97936b7f3..7b465b511 100644 --- a/dask_expr/_shuffle.py +++ b/dask_expr/_shuffle.py @@ -864,7 +864,7 @@ def _lower(self): self.frame, self._other, self.drop, - self._npartitions_input, + self._npartitions_input if self.user_divisions is None else None, self.ascending, self.upsample, self.user_divisions, diff --git a/dask_expr/tests/test_shuffle.py b/dask_expr/tests/test_shuffle.py index 3e2cce6ed..c2c88302f 100644 --- a/dask_expr/tests/test_shuffle.py +++ b/dask_expr/tests/test_shuffle.py @@ -794,3 +794,11 @@ def test_set_index_before_assign(df, pdf): expected = pdf.set_index("x") expected["z"] = expected.y + 1 assert_eq(result["z"], expected["z"]) + + +def test_set_index_shuffle_afterwards(pdf): + ddf = from_pandas(pdf, npartitions=1) + ddf = ddf.set_index("y", sort=True, divisions=[0, 10, 20, 100], shuffle="tasks") + result = ddf.reset_index().y.unique() + expected = pd.Series(pdf.y.unique(), name="y") + assert_eq(result, expected, check_index=False)