【发布时间】:2021-05-29 00:15:06
【问题描述】:
我想在多个列上对 LabelEncoder 使用 inverse_transform 函数。
这是我在数据帧上应用 LabelEncoder 时用于多个列的代码:
class MultiColumnLabelEncoder:
def __init__(self,columns = None):
self.columns = columns # array of column names to encode
def fit(self,X,y=None):
return self # not relevant here
def transform(self,X):
'''
Transforms columns of X specified in self.columns using
LabelEncoder(). If no columns specified, transforms all
columns in X.
'''
output = X.copy()
if self.columns is not None:
for col in self.columns:
output[col] = LabelEncoder().fit_transform(output[col])
else:
for colname,col in output.iteritems():
output[colname] = LabelEncoder().fit_transform(col)
return output
def fit_transform(self,X,y=None):
return self.fit(X,y).transform(X)
有没有办法修改代码并将其更改为用于反转编码器的标签?
谢谢
【问题讨论】:
标签: python scikit-learn categorical-data