From 9bcb32af502583b67ad4dde2e3078d3525622a51 Mon Sep 17 00:00:00 2001 From: messense Date: Wed, 21 Aug 2024 17:13:58 +0800 Subject: [PATCH] PERF: avoid calling `DataFrame.dtypes` in loop --- pandas/core/generic.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pandas/core/generic.py b/pandas/core/generic.py index 0f0078fc3398b..8cccb7001eb7b 100644 --- a/pandas/core/generic.py +++ b/pandas/core/generic.py @@ -600,9 +600,10 @@ def _get_cleaned_column_resolvers(self) -> dict[Hashable, Series]: if isinstance(self, ABCSeries): return {clean_column_name(self.name): self} + dtypes = self.dtypes return { clean_column_name(k): Series( - v, copy=False, index=self.index, name=k, dtype=self.dtypes[k] + v, copy=False, index=self.index, name=k, dtype=dtypes[k] ).__finalize__(self) for k, v in zip(self.columns, self._iter_column_arrays()) if not isinstance(k, int)