标签编码器:类型错误:"浮点"和"str"实例之间不支持">"



我正面临多个变量的错误,甚至处理缺失值。例如:

le = preprocessing.LabelEncoder()
categorical = list(df.select_dtypes(include=['object']).columns.values)
for cat in categorical:
    print(cat)
    df[cat].fillna('UNK', inplace=True)
    df[cat] = le.fit_transform(df[cat])
#     print(le.classes_)
#     print(le.transform(le.classes_))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-24-424a0952f9d0> in <module>()
      4     print(cat)
      5     df[cat].fillna('UNK', inplace=True)
----> 6     df[cat] = le.fit_transform(df[cat].fillna('UNK'))
      7 #     print(le.classes_)
      8 #     print(le.transform(le.classes_))
C:Userspaula.ceccon.ribeiroAppDataLocalContinuumAnaconda3libsite-packagessklearnpreprocessinglabel.py in fit_transform(self, y)
    129         y = column_or_1d(y, warn=True)
    130         _check_numpy_unicode_bug(y)
--> 131         self.classes_, y = np.unique(y, return_inverse=True)
    132         return y
    133 
C:Userspaula.ceccon.ribeiroAppDataLocalContinuumAnaconda3libsite-packagesnumpylibarraysetops.py in unique(ar, return_index, return_inverse, return_counts)
    209 
    210     if optional_indices:
--> 211         perm = ar.argsort(kind='mergesort' if return_index else 'quicksort')
    212         aux = ar[perm]
    213     else:
TypeError: '>' not supported between instances of 'float' and 'str'

检查导致错误结果的变量INS:

df['CRM do Médico'].isnull().sum()
0

除了nan值之外,什么可能导致此错误?

这是由于包含具有不同数据类型的元素的系列df[cat]造成的,例如(字符串和/或浮点)。这可能是由于读取数据的方式,即,数字被读为浮点和文本为字符串或数据类型是float float并在fillna操作后更改。

换句话说

pandas数据类型"对象"指示混合类型而不是str类型

因此使用以下行:

df[cat] = le.fit_transform(df[cat].astype(str))


应该帮助

作为字符串数据类型具有可变长度,默认情况下存储为对象类型。在处理缺失值之后,我也面临着这个问题。在我的情况下,将所有这些列转换为键入"类别"。

df[cat]=df[cat].astype('category')

,然后检查df.dtypes并执行标签编码。

或使用铸造与均匀类型的str

的铸件
unique, counts = numpy.unique(str(a).split(), return_counts=True)

df ['cat'] = df ['cat']。应用(str)工作。

在我的情况下,我在 list中有 nan;哪些限制了您可以执行的某些操作

相关内容

  • 没有找到相关文章

最新更新