From 01734a452bd6ea6c1e907cd31b8fc32d7da28682 Mon Sep 17 00:00:00 2001 From: Floris Hoogenboom Date: Wed, 30 Jan 2019 11:54:10 +0100 Subject: [PATCH] Make all operations on DataFrameMapper.transformed_names_ atomic. --- sklearn_pandas/dataframe_mapper.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/sklearn_pandas/dataframe_mapper.py b/sklearn_pandas/dataframe_mapper.py index f530521..0c430d1 100644 --- a/sklearn_pandas/dataframe_mapper.py +++ b/sklearn_pandas/dataframe_mapper.py @@ -288,7 +288,7 @@ def _transform(self, X, y=None, do_fit=False): self._build() extracted = [] - self.transformed_names_ = [] + transformed_names_ = [] for columns, transformers, options in self.built_features: input_df = options.get('input_df', self.input_df) @@ -307,7 +307,7 @@ def _transform(self, X, y=None, do_fit=False): extracted.append(_handle_feature(Xt)) alias = options.get('alias') - self.transformed_names_ += self.get_names( + transformed_names_ += self.get_names( columns, transformers, Xt, alias) # handle features not explicitly selected @@ -322,14 +322,16 @@ def _transform(self, X, y=None, do_fit=False): if do_fit: _call_fit(self.built_default.fit, Xt, y) Xt = self.built_default.transform(Xt) - self.transformed_names_ += self.get_names( + transformed_names_ += self.get_names( unsel_cols, self.built_default, Xt) else: # if not applying a default transformer, # keep column names unmodified - self.transformed_names_ += unsel_cols + transformed_names_ += unsel_cols extracted.append(_handle_feature(Xt)) + self.transformed_names_ = transformed_names_ + # combine the feature outputs into one array. # at this point we lose track of which features # were created from which input columns, so it's