如何为 Pandas 数据框中的特定列应用 LabelEncoder

How to apply LabelEncoder for a specific column in Pandas dataframe

我有一个由 dataframe 加载的数据集,其中 class 标签需要使用来自 scikit-learn 的 LabelEncoder 进行编码。 label 列是 class 标签列,它具有以下 classes:

[‘Standing’, ‘Walking’, ‘Running’, ‘null’]

为了执行标签编码,我尝试了以下但它不起作用。我该如何解决?

from sklearn import preprocessing
import pandas as pd

df = pd.read_csv('dataset.csv', sep=',') 
df.apply(preprocessing.LabelEncoder().fit_transform(df['label']))

您可以尝试以下方法:

le = preprocessing.LabelEncoder()
df['label'] = le.fit_transform(df.label.values)

或者以下也可以:

df['label'] = le.fit_transform(df['label'])

它将用编码标签替换数据框中的原始 label 值。

您还可以这样做:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
df.col_name= le.fit_transform(df.col_name.values)

其中 col_name = 您要标记编码的特征

 from sklearn.preprocessing import LabelEncoder
 le = LabelEncoder()
 X[:, 2] = le.fit_transform(X[:, 2]) 

如果您想更改 CSV 数据中的特定列,这可能会有所帮助