Python LabelEncoder将列中的每个值更改为';LabelEncoder()和#x27;
我不明白我怎么把事情搞得这么糟。非常新的编码 我试图通过sklearn上的LabelEncoder运行一个pandas列,以便将字符串转换为值。如果我没有通过LabelEncoder运行它,该列将按其应该的方式打印出一个名称列表。当我使用LabelEncoder时,每个值实际上都被更改为“LabelEncoder”。我做错了什么Python LabelEncoder将列中的每个值更改为';LabelEncoder()和#x27;,python,pandas,scikit-learn,Python,Pandas,Scikit Learn,我不明白我怎么把事情搞得这么糟。非常新的编码 我试图通过sklearn上的LabelEncoder运行一个pandas列,以便将字符串转换为值。如果我没有通过LabelEncoder运行它,该列将按其应该的方式打印出一个名称列表。当我使用LabelEncoder时,每个值实际上都被更改为“LabelEncoder”。我做错了什么 import pandas as pd from sklearn import preprocessing import numpy as np data = pd.
import pandas as pd
from sklearn import preprocessing
import numpy as np
data = pd.read_excel('Data.xlsx', sep=',')
import pandas as pd
le = preprocessing.LabelEncoder()
fit = le.fit(data.loc[:,'R_Name'])
data.loc[:,'R_Name'] = fit
print(data.loc[:,'R_Name'])
以下是我的结果:
0 LabelEncoder()
1 LabelEncoder()
2 LabelEncoder()
3 LabelEncoder()
4 LabelEncoder()
5 LabelEncoder()
6 LabelEncoder()
7 LabelEncoder()
8 LabelEncoder()
9 LabelEncoder()
10 LabelEncoder()
11 LabelEncoder()
12 LabelEncoder()
13 LabelEncoder()
14 LabelEncoder()
15 LabelEncoder()
16 LabelEncoder()
17 LabelEncoder()
18 LabelEncoder()
19 LabelEncoder()
20 LabelEncoder()
21 LabelEncoder()
22 LabelEncoder()
23 LabelEncoder()
24 LabelEncoder()
25 LabelEncoder()
26 LabelEncoder()
27 LabelEncoder()
28 LabelEncoder()
我猜你想要你专栏的编码版本。 因此,您需要在安装的编码器上调用方法转换。 见下文 作为pd进口熊猫 从sk学习导入预处理 将numpy作为np导入
#data = pd.read_excel('Data.xlsx', sep=',')
data = pd.DataFrame({'R_Name':['Pippo','Pluto','Paperino','Pluto','Pippo'],'ID':[1,34,5,22,1]})
le = preprocessing.LabelEncoder()
fitted_le = le.fit(data.loc[:,'R_Name'])
data.loc[:,'R_Name'] = fitted_le.transform(data.loc[:,'R_Name'])
print(data.loc[:,'R_Name'])
输出为:
0 1
1 2
2 0
3 2
4 1
Name: R_Name, dtype: int32
请注意,我定义了一个玩具数据框,因为我不知道您的excel文件结构。我还将LabelEncoder对象重命名为fitted_le:给变量赋予方法的相同名称不是一个好主意。
实际上,您的代码可以用更简洁的方式重写(我跳过include和dataframe导入):
这里是相关文档的链接尝试将
le.fit
更改为le.fit\u transform
?fit
方法返回一个已安装版本的LabelEncoder
对象,而您不仅希望适合'R\u Name'
列,还希望立即对其进行转换并返回编码的标签。效果非常好!你是冠军!很高兴听到这个消息,祝您的编码之旅愉快!
le = preprocessing.LabelEncoder()
data['R_Name'] = le.fit_transform(data['R_Name'])
print(data['R_Name'])