我有一个数据帧,它包括数值和非数值(它包括一些特殊字符,如-、空格等(。我想对该非数字值进行编码以运行corr((。非数字列名,例如:"Department"、"Location"等。我使用了Label Encoder((。但它显示了一个TypeError;
类型错误:'<'在"int"one_answers"str"的实例之间不支持
我用了这个代码:
le=预处理。LabelEncoder((
X_train[‘部门’]=le.fit_transform(X_train【‘部门’】(
如果数据不是有序的,我不会将LabelEncoder与corr((一起使用,因为这会产生错误的洞察力。
pd.getdummies(X_train['Department'])
已经足够为我使用pd.DataFrame.corr()
了。它将创建尽可能多的列,并为分类与列标签匹配的每行标记1,否则为0。
另一个问题可能是"Department"中的混合数据类型,可以使用df['Department'] = df['Department'].astype('str')
进行修复。这可能是最有效的做法之前,你的火车测试分裂。