LabelEncoder -- TypeError: 参数必须是字符串或数字

     2023-03-12     43

关键词:

【中文标题】LabelEncoder -- TypeError: 参数必须是字符串或数字【英文标题】:LabelEncoder -- TypeError: argument must be a string or number 【发布时间】:2020-09-11 18:07:09 【问题描述】:
import pandas as pd 
from sklearn.preprocessing import LabelEncoder
pd.set_option('display.max_columns', 500)
df=pd.read_csv("https://media-doselect.s3.amazonaws.com/generic/831JKKEkW7kqd5M4evNva9LyB/insurance_grouped.csv")
le = LabelEncoder()#use this encoder to encod
df.BMI_group = le.fit_transform(df.BMI_group.values)
print(df.head())


预期产出 - 年龄 性别 bmi 儿童 吸烟区收费 BMI_group 0 19 0 27.900 0 1 3 16884.92400 2 1 18 1 33.770 1 0 2 1725.55230 1 2 28 1 33.000 3 0 2 4449.46200 1 3 33 1 22.705 0 0 1 21984.47061 0 4 32 1 28.880 0 0 1 3866.85520 2


错误信息 - TypeError Traceback(最近一次调用最后一次) ~\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in _encode(values, uniques, encode) 104 尝试: --> 105 res = _encode_python(值,唯一性,编码) 106 除了类型错误:

~\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in _encode_python(值,唯一性,编码) 58 如果 uniques 为 None: ---> 59 个唯一值 = 排序(集合(值)) 60 个唯一值 = np.array(uniques, dtype=values.dtype)

TypeError: '

在处理上述异常的过程中,又发生了一个异常:

TypeError Traceback(最近一次调用最后一次) 在 4 #df=pd.read_csv("https://media-doselect.s3.amazonaws.com/generic/831JKKEkW7kqd5M4evNva9LyB/insurance_grouped.csv") 5 le = LabelEncoder()#使用这个编码器进行编码 ----> 6 df.BMI_group = le.fit_transform(df.BMI_group.values) 7 df.BMI_group

~\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in fit_transform(self, y) 第234章 235 y = column_or_1d(y,警告=真) --> 236 self.classes_, y = _encode(y, encode=True) 第237章 238

~\Anaconda3\lib\site-packages\sklearn\preprocessing\label.py in _encode(values, uniques, encode) 105 res = _encode_python(值,唯一性,编码) 106 除了类型错误: --> 107 raise TypeError("参数必须是字符串或数字") 108返回资源 109 其他:

TypeError: 参数必须是字符串或数字

【问题讨论】:

这个thread的可能重复? 【参考方案1】:

np.nan 被解释为浮点数,因此不能与 srting 值进行比较。这是更新的代码。

import pandas as pd 
from sklearn.preprocessing import LabelEncoder
import numpy as np

pd.set_option('display.max_columns', 500)
df=pd.read_csv("https://media-doselect.s3.amazonaws.com/generic/831JKKEkW7kqd5M4evNva9LyB/insurance_grouped.csv")
df["BMI_group"] = df["BMI_group"].replace(np.nan, 'none', regex=True)


le = LabelEncoder()#use this encoder to encod
df.BMI_group = le.fit_transform(df.BMI_group.values)
print(df.head())

【讨论】:

别担心,伙计!

python - TypeError:不可排序的类型:str()> float()

...“nan”行。我怎么能除了行。dataset=pd.read_csv(\'mypath\')enc=LabelEncoder()enc. 查看详情

373labelencoder相关

OneHotEncoder独热编码和LabelEncoder标签编码 查看详情

使用 LabelEncoder 转换数据

】使用LabelEncoder转换数据【英文标题】:convertdatawithLabelEncoder【发布时间】:2021-07-2109:36:06【问题描述】:我写了这个函数来用LabelEncoder转换分类特征#convertcolumnstodummieswithLabelEncodercols=[\'ToolType\',\'TestType\',\'BatteryType\']#applyenehoten... 查看详情

在 LabelEncoder 中自定义

】在LabelEncoder中自定义【英文标题】:SelfDefineinLabelEncoder【发布时间】:2021-12-2903:01:35【问题描述】:尝试在csv文件中编码数据。课堂上的TA推荐sklearn中的LabelEncoder。有一列名称为education_level。我需要按“高、中、低”的顺序对... 查看详情

LabelEncoder().fit_transform 给我负值?

】LabelEncoder().fit_transform给我负值?【英文标题】:LabelEncoder().fit_transformgivesmenegativevalues?【发布时间】:2021-09-1311:44:30【问题描述】:嘿,我的数据集中的“城市”列中有不同的城市名称。我很想使用LabelEncoder()对其进行编码。... 查看详情

为啥 sklearn 中的 LabelEncoder 只能用于目标变量?

】为啥sklearn中的LabelEncoder只能用于目标变量?【英文标题】:WhyshouldLabelEncoderfromsklearnbeusedonlyforthetargetvariable?为什么sklearn中的LabelEncoder只能用于目标变量?【发布时间】:2020-11-0314:34:06【问题描述】:我试图创建一个带有LabelEn... 查看详情

使用 labelEncoder 时输入形状错误

】使用labelEncoder时输入形状错误【英文标题】:badinputshapewhenusinglabelEncoder【发布时间】:2020-12-1617:13:57【问题描述】:我有一个相当大的数据框,其中包含数值和分类值。我正在尝试对分类值进行编码,但出现上述错误。这是... 查看详情

LabelEncoder 用于分类特征?

】LabelEncoder用于分类特征?【英文标题】:LabelEncoderforcategoricalfeatures?【发布时间】:2020-07-2718:32:24【问题描述】:这可能是一个初学者的问题,但我看到很多人使用LabelEncoder()将分类变量替换为序数。很多人通过一次传递多个... 查看详情

如何使用 scikit LabelEncoder 获取新标签?

】如何使用scikitLabelEncoder获取新标签?【英文标题】:HowdoIuseusescikitLabelEncoderfornewlabels?【发布时间】:2018-01-1117:07:59【问题描述】:所以我的代码如下:>>>le=preprocessing.LabelEncoder()>>>le.fit(train["capitalcity"])LabelEncoder()&... 查看详情

LabelEncoder 在 DataFrame 中指定类

】LabelEncoder在DataFrame中指定类【英文标题】:LabelEncoderspecifyclassesinDataFrame【发布时间】:2016-12-1800:23:35【问题描述】:我正在将LabelEncoder应用于pandasDataFrame,dfFeat1Feat2Feat3Feat4Feat5AAAAEBBCCECDCCEDACDE我正在将标签编码器应用于这样的... 查看详情

LabelEncoder 和 LabelBinarizer 的区别? [复制]

】LabelEncoder和LabelBinarizer的区别?[复制]【英文标题】:DifferencebetweenLabelEncoderandLabelBinarizer?[duplicate]【发布时间】:2019-05-2603:55:30【问题描述】:fromsklearn.preprocessingimportLabelBinarizer对fromsklearn.preprocessingimportLabelEncod 查看详情

Scikit learn的AttributeError:'LabelEncoder'对象没有属性'classes_'?

】Scikitlearn的AttributeError:\\\'LabelEncoder\\\'对象没有属性\\\'classes_\\\'?【英文标题】:Scikitlearn\'sAttributeError:\'LabelEncoder\'objecthasnoattribute\'classes_\'?Scikitlearn的AttributeError:\'LabelEncoder\'对象没有属性\'classes_\'?【发 查看详情

sklearn中labelEncoder的工作

】sklearn中labelEncoder的工作【英文标题】:WorkingoflabelEncoderinsklearn【发布时间】:2017-06-0600:55:38【问题描述】:假设我有以下输入功能:hotel_id=[1,2,3,2,3]这是一个带有数值的分类特征。如果我把它按原样交给模型,模型会将其视为... 查看详情

sklearn-标准化标签labelencoder

 sklearn.preprocessing.LabelEncoder():标准化标签 standardScaler==featureswithamean=0andvariance=1minMaxScaler==featuresina0to1rangenormalizer==featurevectortoaeuclideanlength=1normalizationbringt 查看详情

labelencoder和onehotencoder

...)转为数字。在sklearn中都支持,fromsklearn.preprocessingimportLabelEncoder,OneHotEncoder区别:labelencoder将特征转化为一列数字。数字可以很大。如:redblueyellowblack0123onehotencoder:将一列文本数据转化为一列或多列只用01表示的数据如:redblueye... 查看详情

labelencoder 和 OneHotEncoder 的值错误

】labelencoder和OneHotEncoder的值错误【英文标题】:ValueerrorwithlabelencoderandOneHotEncoder【发布时间】:2017-12-1020:14:26【问题描述】:我正在尝试将一个分类字符串列转换为几个虚拟变量二进制列,但我得到一个值错误。代码如下:impor... 查看详情

LabelEncoder.fit_transform() 的类型错误

】LabelEncoder.fit_transform()的类型错误【英文标题】:typeerrorwithLabelEncoder.fit_transform()【发布时间】:2018-05-2308:19:05【问题描述】:我在Kaggle(https://www.kaggle.com/c/titanic/data)上玩Titanic数据集,我想使用sklearn.preprocessing中的LabelEncoder将... 查看详情

在多个程序中正确使用 Scikit 的 LabelEncoder

】在多个程序中正确使用Scikit的LabelEncoder【英文标题】:UsingScikit\'sLabelEncodercorrectlyacrossmultipleprograms【发布时间】:2015-04-2318:29:21【问题描述】:我手头的基本任务是a)读取一些制表符分隔的数据。b)做一些基本的预处理c)对于每... 查看详情