LabelEncoder 没有将字符串转换为数字 (0,1,2)

LabelEncoder is not converting the strings into numericals (0,1,2)

我有如下数据,我需要对变量进行编码,但 LabelEncoder 没有对字符串进行编码

我的数据如下所示

Delivery_class
First Class
Same Day
Second Class
Standard Class

X=filtered_df.iloc[:, 1]
labelencoder_X = LabelEncoder()
X.values[:,1] = labelencoder_X.fit_transform(X.values[:,1].astype(str))

即使在 运行 abovr 代码之后,字符串仍然保持不变。

请指教,我是XGBoost的初学者

不要分配回 X.values。使用 X.iloc:

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
X.iloc[:, 1] = le.fit_transform(X.values[:, 1].astype(str))

输出:

   Index  Ship_Mode
0      0          0
1      1          0
2      2          1
3      3          1
4      4          0
5      5          2