我试图通过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'
感谢帮助
答案 0 :(得分:1)
您的数据框中可能缺少一些数据。在执行此操作之前,请处理丢失的数据。
您可以使用df.count()来检查哪些列缺少数据。
如果这不起作用,请遍历您的数据并确保每列仅包含其尝试解析的类型的数据