From 6851228549fdb6a5c615d5012ac35282bb832992 Mon Sep 17 00:00:00 2001 From: ragrawal Date: Sun, 22 Nov 2020 00:35:09 -0800 Subject: [PATCH 1/3] added __getstate__ method --- sklearn_pandas/dataframe_mapper.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/sklearn_pandas/dataframe_mapper.py b/sklearn_pandas/dataframe_mapper.py index 7b97f0e..edcfd77 100644 --- a/sklearn_pandas/dataframe_mapper.py +++ b/sklearn_pandas/dataframe_mapper.py @@ -166,6 +166,23 @@ def __setstate__(self, state): self.built_default = state.get('built_default', self.default) self.transformed_names_ = state.get('transformed_names_', []) + def __getstate__(self): + state = super().__getstate__() + state['features'] = self.features + state['sparse'] = self.sparse + state['default'] = self.default + state['df_out'] = self.df_out + state['input_df'] = self.input_df + state['drop_cols'] = self.drop_cols + try: + state['built_features'] = self.built_features + except AttributeError as ex: + state['built_features'] = None + + state['built_default'] = self.built_default + state['transformed_names_'] = self.transformed_names_ + return state + def _get_col_subset(self, X, cols, input_df=False): """ Get a subset of columns from the given table X. From 0c46ff15d15b5ee376d91ad6f743a1eaf9943d97 Mon Sep 17 00:00:00 2001 From: ragrawal Date: Sun, 22 Nov 2020 00:40:49 -0800 Subject: [PATCH 2/3] fixed lint issues --- sklearn_pandas/dataframe_mapper.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sklearn_pandas/dataframe_mapper.py b/sklearn_pandas/dataframe_mapper.py index edcfd77..ad1ea5f 100644 --- a/sklearn_pandas/dataframe_mapper.py +++ b/sklearn_pandas/dataframe_mapper.py @@ -174,13 +174,13 @@ def __getstate__(self): state['df_out'] = self.df_out state['input_df'] = self.input_df state['drop_cols'] = self.drop_cols - try: + try: state['built_features'] = self.built_features - except AttributeError as ex: + except AttributeError: state['built_features'] = None state['built_default'] = self.built_default - state['transformed_names_'] = self.transformed_names_ + state['transformed_names_'] = self.transformed_names_ return state def _get_col_subset(self, X, cols, input_df=False): From d782be33320397c16ab38c983e59773ea0849d5e Mon Sep 17 00:00:00 2001 From: ragrawal Date: Sun, 22 Nov 2020 00:49:50 -0800 Subject: [PATCH 3/3] replaced try except with getattr --- sklearn_pandas/dataframe_mapper.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sklearn_pandas/dataframe_mapper.py b/sklearn_pandas/dataframe_mapper.py index ad1ea5f..e6e1154 100644 --- a/sklearn_pandas/dataframe_mapper.py +++ b/sklearn_pandas/dataframe_mapper.py @@ -174,11 +174,7 @@ def __getstate__(self): state['df_out'] = self.df_out state['input_df'] = self.input_df state['drop_cols'] = self.drop_cols - try: - state['built_features'] = self.built_features - except AttributeError: - state['built_features'] = None - + state['build_features'] = getattr(self, 'built_features', None) state['built_default'] = self.built_default state['transformed_names_'] = self.transformed_names_ return state