如何从 pandas 中的标签编码中排除一两列?

How to exclude one or two columns from label encoding in pandas?

代码如下。我想从标签编码代码中排除两列名称 'Card Type' 和 'Risk Value'。如何排除那些?下面的代码将所有对象类型编码为数字。 列是警报编号工作、贷款、城市、日期、卡类型、性别、收入水平、EstimatedSalary、风险值

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