问题描述
代码如下。我想从标签编码代码中排除两列名称“卡片类型”和“风险值”。如何排除那些?以下代码将所有对象类型编码为数字。 列是警报编号工作、贷款、城市、日期、卡类型、性别、收入水平、估计工资、风险价值
le = LabelEncoder()
objList = bank_dataset.select_dtypes(include="object").columns
for feat in objList:
bank_dataset[feat] = le.fit_transform(bank_dataset[feat].astype(str))
解决方法
使用:
objList = bank_dataset.select_dtypes(include="object").columns
objList = objList.difference(['Card Type','Risk Value'],sort=False)
或者:
objList = [x for x in objList if x not in ['Card Type','Risk Value']]
,
默认情况下,每个数据集操作都不是就地完成的,我会简单地使用这样的 drop 函数:
objList = bank_dataset.drop(columns=['Card Type','Risk Value']).select_dtypes(include="object").columns