假設(shè)我有一個帶有以下列名稱的 Pandas 數(shù)據(jù)框:'age' (例如 33、26、51 等)'seniority' (例如“初級”、“高級”等)'gender' (例如“男性”、“女性”)'salary' (例如 32000、40000、64000 等)我想將seniority分類變量轉(zhuǎn)換為一個熱編碼值。出于這個原因,我正在做以下事情:from sklearn.preprocessing import LabelEncoderlabel_encoder = LabelEncoder()data['seniority'] = label_encoder.fit_transform(data['seniority'])from sklearn.preprocessing import OneHotEncoderone_hot_encoder = OneHotEncoder(categorical_features=[1])data = one_hot_encoder.fit_transform(data.values)但是后來我收到了這個錯誤ValueError: could not convert string to float: 'gender'在線data = one_hot_encoder.fit_transform(data.values)但是,我已明確指定,categorical_features=[1]因此seniority對于這一熱編碼,只應(yīng)考慮第1 ( )列。如何修復(fù)此錯誤(例如刪除“性別”列除外)?我pandas.get_dummies以前用過,沒有這個問題。
OneHotEncoder - 僅編碼一些分類變量列
寶慕林4294392
2021-06-08 13:16:48