【发布时间】:2020-06-02 16:54:07
【问题描述】:
我有一个带有分类列的数据框,我正在尝试使用sklearn 使用下面的代码段来one hot encode 它
oneEncoder= OneHotEncoder()
features['COL2'] = features['COL2'].apply(lambda col : oneEncoder.fit_transform(col))
但它一直在扔
ValueError: Expected 2D array, got scalar array instead:
array=1771. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
我也试过
oneEncoder= OneHotEncoder() #initializing an object of class LabelEncoder
oneEncoder.fit_transform( features['COL2'])
但它会抛出
ValueError: Expected 2D array, got 1D array instead:
【问题讨论】:
-
你不能分配回
Col2,因为OHE转换的结果是多维的。
标签: pandas scikit-learn one-hot-encoding