我的大型数据框中有一个列列表,它们是分类的,我正在尝试对它们进行编码,因为我使用的一些算法不接受字符串(例如 knn)。这是我的代码:#encode categoriesfrom sklearn.preprocessing import LabelEncoder# LabelEncoderle = LabelEncoder()# dataImputed[catgoricalValues] = dataImputed[catgoricalValues].apply(le.fit_transform) #didn't workdataImputed[catgoricalValues] = le.fit_transform(dataImputed[catgoricalValues].astype(str))我收到此错误:ValueError: y should be a 1d array, got an array of shape (490546, 11) instead.我该怎么做才能仅对列表中的这些值进行编码catgoricalValues,同时在我的数据框中维护所有其他值?
1 回答
一只甜甜圈
TA贡献1836条经验 获得超5个赞
尝试这个:
import pandas as pd
from sklearn.preprocessing import LabelEncoder
def MultiLabelEncoder(columnlist,dataframe):
for i in columnlist:
labelencoder_X=LabelEncoder()
dataframe[i]=labelencoder_X.fit_transform(dataframe[i])
MultiLabelEncoder(catgoricalValuesColumnNameList,dataImputed)
添加回答
举报
0/150
提交
取消