Exemple #1
0
 def _fit_transform(self, df, verbose):
     cols_to_exclude = self._exclude_columns.copy()
     if self._exclude_obj_cols:
         obj_cols = list((df.dtypes[df.dtypes == object]).index)
         obj_cols = [x for x in obj_cols if x not in cols_to_exclude]
         cols_to_exclude += obj_cols
     self._col_order = list(df.columns)
     if cols_to_exclude:
         excluded = df[cols_to_exclude]
         apply_to = df[[
             col for col in df.columns if col not in cols_to_exclude
         ]]
     else:
         apply_to = df
     self._scaler = scaler_by_params(self.scaler, **self._kwargs)
     try:
         res = pd.DataFrame(
             data=self._scaler.fit_transform(apply_to),
             index=apply_to.index,
             columns=apply_to.columns,
         )
     except Exception:
         raise PipelineApplicationError(
             "Exception raised when Scale applied to columns {}".format(
                 apply_to.columns))
     if cols_to_exclude:
         res = pd.concat([res, excluded], axis=1)
         res = res[self._col_order]
     self.is_fitted = True
     return res
 def _fit_transform(self, df, verbose):
     self._columns_to_scale = self._get_columns(df, fit=True)
     unscaled_cols = [
         x for x in df.columns if x not in self._columns_to_scale
     ]
     col_order = list(df.columns)
     inter_df = df[self._columns_to_scale]
     self._scaler = scaler_by_params(self.scaler, **self._kwargs)
     try:
         inter_df = pd.DataFrame(
             data=self._scaler.fit_transform(inter_df.values),
             index=inter_df.index,
             columns=inter_df.columns,
         )
     except Exception:
         raise PipelineApplicationError(
             "Exception raised when Scale applied to columns"
             " {} by class {}".format(self._columns_to_scale,
                                      self.__class__))
     if len(unscaled_cols) > 0:
         unscaled = df[unscaled_cols]
         inter_df = pd.concat([inter_df, unscaled], axis=1)
         inter_df = inter_df[col_order]
     self.is_fitted = True
     return inter_df
Exemple #3
0
 def _fit_transform(self, df, verbose):
     if self._exclude_columns is None:
         self._exclude_columns = list(
             (df.dtypes[df.dtypes == object]).index)
     self._col_order = list(df.columns)
     if len(self._exclude_columns) > 0:
         exclude = df[self._exclude_columns]
         apply_to = df[[
             col for col in df.columns if col not in self._exclude_columns]]
     else:
         apply_to = df
     self._scaler = scaler_by_params(self.scaler, **self._kwargs)
     try:
         res = pd.DataFrame(
             data=self._scaler.fit_transform(apply_to),
             index=apply_to.index,
             columns=apply_to.columns,
         )
     except Exception:
         raise PipelineApplicationError(
             "Exception raised when Scale applied to columns {}".format(
                 apply_to.columns))
     if len(self._exclude_columns) > 0:
         res = pd.concat([res, exclude], axis=1)
         res = res[self._col_order]
     self.is_fitted = True
     return res