@@ -228,7 +228,8 @@ def fit(self, X, y=None):
228228 _call_fit (self .built_default .fit , Xt , y )
229229 return self
230230
231- def get_names (self , columns , transformer , x , alias = None ):
231+ def get_names (self , columns , transformer , x , alias = None , prefix = '' ,
232+ suffix = '' ):
232233 """
233234 Return verbose names for the transformed columns.
234235
@@ -244,6 +245,9 @@ def get_names(self, columns, transformer, x, alias=None):
244245 else :
245246 name = columns
246247 num_cols = x .shape [1 ] if len (x .shape ) > 1 else 1
248+
249+ output = []
250+
247251 if num_cols > 1 :
248252 # If there are as many columns as classes in the transformer,
249253 # infer column names from classes names.
@@ -260,12 +264,17 @@ def get_names(self, columns, transformer, x, alias=None):
260264 else :
261265 names = _get_feature_names (transformer )
262266 if names is not None and len (names ) == num_cols :
263- return ['%s_%s' % (name , o ) for o in names ]
267+ output = ['%s_%s' % (name , o ) for o in names ]
264268 # otherwise, return name concatenated with '_1', '_2', etc.
265269 else :
266- return [name + '_' + str (o ) for o in range (num_cols )]
270+ output = [name + '_' + str (o ) for o in range (num_cols )]
267271 else :
268- return [name ]
272+ output = [name ]
273+
274+ prefix = prefix or ''
275+ suffix = suffix or ''
276+ return ['{}_{}_{}' .format (prefix , n , suffix ) for x in output ]
277+
269278
270279 def get_dtypes (self , extracted ):
271280 dtypes_features = [self .get_dtype (ex ) for ex in extracted ]
@@ -312,8 +321,10 @@ def _transform(self, X, y=None, do_fit=False):
312321 extracted .append (_handle_feature (Xt ))
313322
314323 alias = options .get ('alias' )
324+ prefix = options .get ('prefix' )
325+ suffix = options .get ('suffix' )
315326 self .transformed_names_ += self .get_names (
316- columns , transformers , Xt , alias )
327+ columns , transformers , Xt , alias , prefix , suffix )
317328
318329 # handle features not explicitly selected
319330 if self .built_default is not False :
0 commit comments