File tree Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Expand file tree Collapse file tree 2 files changed +9
-6
lines changed Original file line number Diff line number Diff line change @@ -148,7 +148,7 @@ Performance improvements
148148- Performance improvement for :meth: `MultiIndex.intersection ` (:issue: `48604 `)
149149- Performance improvement in ``var `` for nullable dtypes (:issue: `48379 `).
150150- Performance improvement to :func: `read_sas ` with ``blank_missing=True `` (:issue: `48502 `)
151- -
151+ - Memory improvement in :meth: ` RangeIndex.sort_values ` ( :issue: ` 48801 `)
152152
153153.. ---------------------------------------------------------------------------
154154 .. _whatsnew_160.bug_fixes :
Original file line number Diff line number Diff line change @@ -554,8 +554,6 @@ def sort_values(
554554 na_position : str = "last" ,
555555 key : Callable | None = None ,
556556 ):
557- sorted_index = self
558- indexer = RangeIndex (range (len (self )))
559557 if key is not None :
560558 return super ().sort_values (
561559 return_indexer = return_indexer ,
@@ -565,17 +563,22 @@ def sort_values(
565563 )
566564 else :
567565 sorted_index = self
566+ inverse_indexer = False
568567 if ascending :
569568 if self .step < 0 :
570569 sorted_index = self [::- 1 ]
571- indexer = indexer [:: - 1 ]
570+ inverse_indexer = True
572571 else :
573572 if self .step > 0 :
574573 sorted_index = self [::- 1 ]
575- indexer = indexer = indexer [:: - 1 ]
574+ inverse_indexer = True
576575
577576 if return_indexer :
578- return sorted_index , indexer
577+ if inverse_indexer :
578+ rng = range (len (self ) - 1 , - 1 , - 1 )
579+ else :
580+ rng = range (len (self ))
581+ return sorted_index , RangeIndex (rng )
579582 else :
580583 return sorted_index
581584
You can’t perform that action at this time.
0 commit comments