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
我的数据如下所示
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