Skip to content

Commit a147c6d

Browse files
Gabe SmallGabe Small
authored andcommitted
optimized shortened factorized
1 parent f7e910e commit a147c6d

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

pandas/core/reshape/reshape.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,13 @@ def _indexer_and_to_sort(
174174
codes = list(self.index.codes)
175175
if not self.sort:
176176
# Create new codes considering that labels are already sorted
177-
# Make sure to preserve the -1 values before factorizing
178-
codes = [factorize(np.where(code == -1, None, code))[0] for code in codes]
177+
# setting nans back to nan to maintain the -1 values
178+
if self.lift:
179+
codes = [
180+
factorize(np.where(code == -1, None, code))[0] for code in codes
181+
]
182+
else:
183+
codes = [factorize(code)[0] for code in codes]
179184

180185
levs = list(self.index.levels)
181186
to_sort = codes[:v] + codes[v + 1 :] + [codes[v]]

0 commit comments

Comments
 (0)