编码分类变量:TypeError:“ str”和“ float”的实例之间不支持“ <”

时间:2018-08-14 08:42:17

标签: python

我试图通过LabelEncoder和OneHotEncoder方法对分类变量进行编码。 我的X矩阵由所有带有浮点数的变量组成,而我的Y由带有对象类型的变量组成:

X = df.loc[:, df.dtypes == np.float64]
Y = df['VCat']

当我应用我的方法时:

from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_Y = LabelEncoder()
Y = labelencoder_Y.fit_transform(Y)
onehotencoder = OneHotEncoder(categorical_features = [0])
Y = onehotencoder.fit_transform(Y).toarray()

出:

TypeError: '<' not supported between instances of 'str' and 'float'

感谢帮助

1 个答案:

答案 0 :(得分:1)

您的数据框中可能缺少一些数据。在执行此操作之前,请处理丢失的数据。

您可以使用df.count()来检查哪些列缺少数据。

如果这不起作用,请遍历您的数据并确保每列仅包含其尝试解析的类型的数据