LableEncoder()错误(sklearn)

时间:2018-06-02 18:21:42

标签: python python-3.x dataframe scikit-learn

如何在python 3.0(Anaconda)中处理LableEncoder()?当我运行数据时出现'<' not supported between instances of 'str' and 'float'等错误。

以下是使用的代码:

from sklearn.preprocessing import LabelEncoder
var_mod = ['Gender','Married','Dependents','Education','Self_Employed',
           'Property_Area','Loan_Status']
le = LabelEncoder()
for i in var_mod:
    df[i] = le.fit_transform(df[i])
df.dtypes

2 个答案:

答案 0 :(得分:0)

让我们尝试以下代码:

from sklearn import preprocessing
le =preprocessing.LabelEncoder()
le.fit_transform(['Gender','Married','Dependents','Education','Self_Employed', 'Property_Area','Loan_Status'])
keys = le.classes_
values = le.transform(le.classes_)
df = dict(zip(keys, values))
print(df)

答案 1 :(得分:0)

请发布错误的完整堆栈跟踪以及发生错误的i的值。我怀疑在i列中,您有不同类型的值。

如果您可以将数据转换为所有字符串,请尝试以下操作:

for i in var_mod:
    df[i] = le.fit_transform(df[i].astype(str))