我的大型數(shù)據(jù)框中有一個列列表,它們是分類的,我正在嘗試對它們進(jìn)行編碼,因為我使用的一些算法不接受字符串(例如 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.我該怎么做才能僅對列表中的這些值進(jìn)行編碼catgoricalValues,同時在我的數(shù)據(jù)框中維護(hù)所有其他值?
1 回答

一只甜甜圈
TA貢獻(xiàn)1836條經(jīng)驗 獲得超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
提交
取消