有没有任何方法可以在数据帧列中对非数字值进行编码



我有一个数据帧,它包括数值和非数值(它包括一些特殊字符,如-、空格等(。我想对该非数字值进行编码以运行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')进行修复。这可能是最有效的做法之前,你的火车测试分裂。

最新更新