@@ -65,6 +65,8 @@ def __init__(self, features, default=False, sparse=False, df_out=False):
65
65
self .default = _build_transformer (default )
66
66
self .sparse = sparse
67
67
self .df_out = df_out
68
+ self .transformed_names_ = []
69
+
68
70
if (df_out and (sparse or default )):
69
71
raise ValueError ("Can not use df_out with sparse or default" )
70
72
@@ -187,7 +189,7 @@ def transform(self, X):
187
189
X the data to transform
188
190
"""
189
191
extracted = []
190
- index = []
192
+ self . transformed_names_ = []
191
193
for columns , transformers in self .features :
192
194
# columns could be a string or list of
193
195
# strings; we don't care because pandas
@@ -196,8 +198,8 @@ def transform(self, X):
196
198
if transformers is not None :
197
199
Xt = transformers .transform (Xt )
198
200
extracted .append (_handle_feature (Xt ))
199
- if self . df_out :
200
- index = index + self .get_names (columns , transformers , Xt )
201
+
202
+ self . transformed_names_ += self .get_names (columns , transformers , Xt )
201
203
202
204
# handle features not explicitly selected
203
205
if self .default is not False :
@@ -206,7 +208,7 @@ def transform(self, X):
206
208
if self .default is not None :
207
209
Xt = self .default .transform (Xt )
208
210
extracted .append (_handle_feature (Xt ))
209
-
211
+ self . transformed_names_ += self . get_names ( unsel_cols , self . default , Xt )
210
212
211
213
# combine the feature outputs into one array.
212
214
# at this point we lose track of which features
@@ -227,4 +229,4 @@ def transform(self, X):
227
229
if not self .df_out :
228
230
return stacked
229
231
230
- return pd .DataFrame (stacked , columns = index )
232
+ return pd .DataFrame (stacked , columns = self . transformed_names_ )
0 commit comments