@@ -229,7 +229,8 @@ def fit(self, X, y=None):
229229 _call_fit (self .built_default .fit , Xt , y )
230230 return self
231231
232- def get_names (self , columns , transformer , x , alias = None ):
232+ def get_names (self , columns , transformer , x , alias = None , prefix = '' ,
233+ suffix = '' ):
233234 """
234235 Return verbose names for the transformed columns.
235236
@@ -245,6 +246,9 @@ def get_names(self, columns, transformer, x, alias=None):
245246 else :
246247 name = columns
247248 num_cols = x .shape [1 ] if len (x .shape ) > 1 else 1
249+
250+ output = []
251+
248252 if num_cols > 1 :
249253 # If there are as many columns as classes in the transformer,
250254 # infer column names from classes names.
@@ -261,12 +265,17 @@ def get_names(self, columns, transformer, x, alias=None):
261265 else :
262266 names = _get_feature_names (transformer )
263267 if names is not None and len (names ) == num_cols :
264- return ['%s_%s' % (name , o ) for o in names ]
268+ output = ['%s_%s' % (name , o ) for o in names ]
265269 # otherwise, return name concatenated with '_1', '_2', etc.
266270 else :
267- return [name + '_' + str (o ) for o in range (num_cols )]
271+ output = [name + '_' + str (o ) for o in range (num_cols )]
268272 else :
269- return [name ]
273+ output = [name ]
274+
275+ prefix = prefix or ''
276+ suffix = suffix or ''
277+ return ['{}_{}_{}' .format (prefix , n , suffix ) for x in output ]
278+
270279
271280 def get_dtypes (self , extracted ):
272281 dtypes_features = [self .get_dtype (ex ) for ex in extracted ]
@@ -313,8 +322,10 @@ def _transform(self, X, y=None, do_fit=False):
313322 extracted .append (_handle_feature (Xt ))
314323
315324 alias = options .get ('alias' )
325+ prefix = options .get ('prefix' )
326+ suffix = options .get ('suffix' )
316327 self .transformed_names_ += self .get_names (
317- columns , transformers , Xt , alias )
328+ columns , transformers , Xt , alias , prefix , suffix )
318329
319330 # handle features not explicitly selected
320331 if self .built_default is not False :
0 commit comments