@@ -228,7 +228,8 @@ def fit(self, X, y=None):
228
228
_call_fit (self .built_default .fit , Xt , y )
229
229
return self
230
230
231
- def get_names (self , columns , transformer , x , alias = None ):
231
+ def get_names (self , columns , transformer , x , alias = None , prefix = '' ,
232
+ suffix = '' ):
232
233
"""
233
234
Return verbose names for the transformed columns.
234
235
@@ -244,6 +245,9 @@ def get_names(self, columns, transformer, x, alias=None):
244
245
else :
245
246
name = columns
246
247
num_cols = x .shape [1 ] if len (x .shape ) > 1 else 1
248
+
249
+ output = []
250
+
247
251
if num_cols > 1 :
248
252
# If there are as many columns as classes in the transformer,
249
253
# infer column names from classes names.
@@ -260,12 +264,17 @@ def get_names(self, columns, transformer, x, alias=None):
260
264
else :
261
265
names = _get_feature_names (transformer )
262
266
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 ]
264
268
# otherwise, return name concatenated with '_1', '_2', etc.
265
269
else :
266
- return [name + '_' + str (o ) for o in range (num_cols )]
270
+ output = [name + '_' + str (o ) for o in range (num_cols )]
267
271
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
+
269
278
270
279
def get_dtypes (self , extracted ):
271
280
dtypes_features = [self .get_dtype (ex ) for ex in extracted ]
@@ -312,8 +321,10 @@ def _transform(self, X, y=None, do_fit=False):
312
321
extracted .append (_handle_feature (Xt ))
313
322
314
323
alias = options .get ('alias' )
324
+ prefix = options .get ('prefix' )
325
+ suffix = options .get ('suffix' )
315
326
self .transformed_names_ += self .get_names (
316
- columns , transformers , Xt , alias )
327
+ columns , transformers , Xt , alias , prefix , suffix )
317
328
318
329
# handle features not explicitly selected
319
330
if self .built_default is not False :
0 commit comments