Skip to content

Commit a76f701

Browse files
authored
BUG: Categorical.sort_values inplace breaking views (#36404)
1 parent 5eb1add commit a76f701

File tree

2 files changed

+3
-1
lines changed

2 files changed

+3
-1
lines changed

pandas/core/arrays/categorical.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1541,7 +1541,7 @@ def sort_values(
15411541
sorted_idx = nargsort(self, ascending=ascending, na_position=na_position)
15421542

15431543
if inplace:
1544-
self._codes = self._codes[sorted_idx]
1544+
self._codes[:] = self._codes[sorted_idx]
15451545
else:
15461546
codes = self._codes[sorted_idx]
15471547
return self._from_backing_data(codes)

pandas/tests/arrays/categorical/test_sorting.py

+2
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def test_sort_values(self):
6666

6767
# sort (inplace order)
6868
cat1 = cat.copy()
69+
orig_codes = cat1._codes
6970
cat1.sort_values(inplace=True)
71+
assert cat1._codes is orig_codes
7072
exp = np.array(["a", "b", "c", "d"], dtype=object)
7173
tm.assert_numpy_array_equal(cat1.__array__(), exp)
7274
tm.assert_index_equal(res.categories, cat.categories)

0 commit comments

Comments
 (0)