From 9e4376d44cda6b2f3efbb9dd42b55cabc085a504 Mon Sep 17 00:00:00 2001 From: jreback Date: Wed, 26 Feb 2014 12:12:19 -0500 Subject: [PATCH] PERF: perf improvements in single-dtyped indexing (GH6484) --- doc/source/release.rst | 1 + pandas/core/internals.py | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/source/release.rst b/doc/source/release.rst index aa852c4416ade..583ec5fc636ff 100644 --- a/doc/source/release.rst +++ b/doc/source/release.rst @@ -129,6 +129,7 @@ Improvements to existing features using ``DataFrame.to_csv`` (:issue:`5414`, :issue:`4528`) - perf improvements in DataFrame construction with certain offsets, by removing faulty caching (e.g. MonthEnd,BusinessMonthEnd), (:issue:`6479`) +- perf improvements in single-dtyped indexing (:issue:`6484`) .. _release.bug_fixes-0.14.0: diff --git a/pandas/core/internals.py b/pandas/core/internals.py index 90bfb61677eb0..10017f89e5204 100644 --- a/pandas/core/internals.py +++ b/pandas/core/internals.py @@ -3402,8 +3402,11 @@ def reindex_items(self, new_items, indexer=None, copy=True, # unique if self.axes[0].is_unique and new_items.is_unique: + # ok to use the global indexer if only 1 block + i = indexer if len(self.blocks) == 1 else None + for block in self.blocks: - blk = block.reindex_items_from(new_items, copy=copy) + blk = block.reindex_items_from(new_items, indexer=i, copy=copy) new_blocks.extend(_valid_blocks(blk)) # non-unique