- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在数据集中有一个具有分类值的列,我想将它们转换为数值。我正在尝试使用 LabelEncoder,但这样做时出错。
from sklearn.preprocessing import LabelEncoder
m = hsp_train["Alley"]
m_enc = LabelEncoder()
j = m_enc.fit_transform(m)
我收到一个错误:
unorderable types: float() > str()
列中的系列有 3 个值。我希望它们分别为 0、1、2,但出现该错误。
我也试过这个:
l = hsp_train["Alley"]
l_enc = pd.factorize(l)
hsp_train["Alley"] = l_enc[0]
但这给了我值 -1、1、2。我不想要我想要它从 1 开始。
最佳答案
很明显,您的系列中存在缺失值。如果您想从系列中删除 NaN
值,只需执行 hsp_train["Alley"].dropna()
插图:
df = pd.DataFrame({'Categorical': ['apple', 'mango', 'apple',
'orange', 'mango', 'apple',
'orange', np.NaN]})
使用 LabelEncoder
对分类标签进行编码:
enc = LabelEncoder()
enc.fit_transform(df['Categorical'])
给予:
TypeError: unorderable types: float() > str()
默认情况下,执行 pd.factorize
会自动将 -1 分配给缺失值,因此您会得到这些值:
pd.factorize(df['Categorical'])[0]
array([ 0, 1, 0, 2, 1, 0, 2, -1])
如果您不想识别 NAN
值并将它们视为任何字符串,您可以在使用 na_filter
读取过程时执行此操作:
df = pd.read_csv(data, na_filter=False, ...)
它还大大提高了读取相对较大文件的性能。
或者,您可以使用 fillna
将所有 NaN
值填充到您选择的所需字符串中:
df.fillna('Na', inplace=True)
这会将所有 NaN
值替换为您的字符串值“Na”,您可以像以前一样继续。
关于python - 将 LabelEncoder 用于 scikit learn 中的一系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39494001/
我使用 LabelEncoder() 将分类数据转换为数值数据。我有一个数据集,如下所示: ['x','s','n','t','p','f','c','n','k','e','e','s','s','
您可以在下面找到我在互联网上找到的用于构建简单神经网络的代码。一切正常。我对 y 标签进行了编码,这些是我得到的预测: 2 0 1 2 1 2 2 0 2 1 0 0 0 1 1 1 1 1 1 1
LabelEncoder 不会“记住”参数。当我用它拟合和转换数据然后询问参数时,我得到的只是{}。这使得不可能在新数据上重新使用编码器。 例子: from sklearn.preprocessing
摘要:Sklearn 的 LabelEncoder 将不同的值编码为相同的值。 encoder.fit(data) 和 data_encoded =encoder.transform(data) 可以
我正在做一个预测项目(为了好玩),基本上我从 nltk 中提取了男性和女性的名字,将名字标记为“男性”或“女性”,然后获取每个名字的最后一个字母,最后使用不同的机器学习算法根据最后一个字母训练和预测性
我编写了这个函数来使用 LabelEncoder 转换分类特征 #convert columns to dummies with LabelEncoder cols = ['ToolType', 'T
嘿, 我的数据集中的“城市”列中有不同的城市名称。我很想使用 LabelEncoder() 对其进行编码。然而,我得到了非常令人沮丧的负值结果 df['city_enc'] = LabelEncode
嘿, 我的数据集中的“城市”列中有不同的城市名称。我很想使用 LabelEncoder() 对其进行编码。然而,我得到了非常令人沮丧的负值结果 df['city_enc'] = LabelEncode
我遇到有关 LabelEncoder 的问题。我将其应用到数据集,如下所示: data_set1 = data_set.apply(LabelEncoder().fit_transform) ...并
我正在尝试建立一个推理管道。它由两部分组成。使用前几年的一些表格订单元数据进行每月 ML 模型训练,并使用当天的新订单进行每日推理预测。我想在我的模型中包含几个字符串分类列,我使用 labelenco
Closed. This question is off-topic。它当前不接受答案。
Image of ull error 我正在尝试在对象类型的所有列上运行LabelEncoder。这是我编写的代码,但它引发了此错误: TypeError: '<' not supported bet
尝试执行以下代码时出现以下错误。 class LabelOneHotEncoder(): def __init__(self): self.ohe = OneHotEncode
我正在编写一个脚本,该脚本使用“局部异常值因子”算法进行“新颖性检测”。在这种情况下,我们需要在进行预测之前“拟合”“干净/训练”数据框。为了使算法正常工作,我们需要对数据帧中的值进行编码,例如将“v
我在数据帧上应用了 LabelEncoder(),它返回以下内容: order/new_cart 有不同的标签编码数字,如 70、64、71 等 这是标签不一致,还是我哪里做错了什么? 最佳答案 La
我有一个很大的 csv,每行有两个字符串,格式如下: g,k a,h c,i j,e d,i i,h b,b d,d i,a d,h 我阅读了前两列并将字符串重新编码为整数,如下所示: import
如果 sklearn.LabelEncoder已在训练集上拟合,如果在测试集上使用时遇到新值,它可能会中断。 对此我能想出的唯一解决方案是将测试集中的所有新内容(即不属于任何现有类)映射到 "" ,然
我想使用 sklearn.preprocessing.LabelEncoder 对元组列表进行标签编码, 如: [(4,5), (6, 7), (1, 1), (6, 7), ... ] 这样每个元组
我正在尝试将分类字符串列转换为几个虚拟变量二进制列,但出现值错误。 代码如下: import sys, os import numpy as np import matplotlib.pyplot a
如果我有一个数据框,请说 df,如果 df["levels"] = pd.Series(["low", "low", "med", "low", "med", "high"]) 有没有办法将其更改为:
我是一名优秀的程序员,十分优秀!