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