使用标签编码器时出现类型错误
TypeError while using label encoder
我正在使用 Beers 数据集,我想在其中使用数据类型 'object' 对数据进行编码。
以下是我的代码。
from sklearn import preprocessing
df3 = BeerDF.select_dtypes(include=['object']).copy()
label_encoder = preprocessing.LabelEncoder()
df3 = df3.apply(label_encoder.fit_transform)
出现以下错误。
TypeError:编码器要求其输入统一为字符串或数字。得到 ['float', 'str']
任何见解都有帮助!!!
从 TypeError 来看,您要转换为标签的列似乎有两种不同的数据类型 (dtypes),在您的情况下是字符串和浮点数,这会引发错误。为避免这种情况,您必须修改您的列以具有统一的数据类型(字符串或浮点数)。例如在 Iris classification 数据集中,class=['Setosa'、'Versicolour'、'Virginica'] 而不是 ['Setosa'、3、5、 'Versicolour']
使用:
df3 = df3.astype(str).apply(label_encoder.fit_transform)
我正在使用 Beers 数据集,我想在其中使用数据类型 'object' 对数据进行编码。 以下是我的代码。
from sklearn import preprocessing
df3 = BeerDF.select_dtypes(include=['object']).copy()
label_encoder = preprocessing.LabelEncoder()
df3 = df3.apply(label_encoder.fit_transform)
出现以下错误。
TypeError:编码器要求其输入统一为字符串或数字。得到 ['float', 'str']
任何见解都有帮助!!!
从 TypeError 来看,您要转换为标签的列似乎有两种不同的数据类型 (dtypes),在您的情况下是字符串和浮点数,这会引发错误。为避免这种情况,您必须修改您的列以具有统一的数据类型(字符串或浮点数)。例如在 Iris classification 数据集中,class=['Setosa'、'Versicolour'、'Virginica'] 而不是 ['Setosa'、3、5、 'Versicolour']
使用:
df3 = df3.astype(str).apply(label_encoder.fit_transform)