【发布时间】:2021-11-16 23:35:50
【问题描述】:
我正在尝试使用此代码使用 One Hot Encoder 转换列 Dataframe。
from sklearn.preprocessing import OneHotEncoder
df['label'] = OneHotEncoder().fit(df['label']).toarray()
这是回溯
ValueError: Expected 2D array, got 1D array instead:
array=['Label1' 'Label1' 'Label1' 'Label1' 'Label1'
'Label1' 'Label1' 'Label1' 'Label1' 'Label1'
'Label2' 'Label2' 'Label2' 'Label2' 'Label2' 'Label2' 'Label2'
'Label2' 'Label2' 'Label2' 'Label3' 'Label3' 'Label3' 'Label3' 'Label3' 'Label3'
'Label3' 'Label3' 'Label3' 'Label3' 'Label4' 'Label4' 'Label4' 'Label4' 'Label4' 'Label4'
'Label4' 'Label4' 'Label4' 'Label4' 'Label5' 'Label5' 'Label5'
'Label5' 'Label5' 'Label5' 'Label5' 'Label5'
'Label5' 'Label5' 'Label6' 'Label6' 'Label6'
'Label6' 'Label6' 'Label6' 'Label6' 'Label6'
'Label6' 'Label6' 'Label7' 'Label7' 'Label7'
'Label7' 'Label7' 'Label7' 'Label7' 'Label7'
'Label7' 'Label7' 'Label8' 'Label8' 'Label8' 'Label8' 'Label8'
'Label8' 'Label8' 'Label8' 'Label8' 'Label8' 'Label9' 'Label9'
'Label9' 'Label9' 'Label9' 'Label9' 'Label9' 'Label9'
'Label9' 'Label9' 'Label10' 'Label10' 'Label10' 'Label10' 'Label10'
'Label10' 'Label10' 'Label10' 'Label10' 'Label10' 'Label11' 'Label11'
'Label11' 'Label11' 'Label11' 'Label11' 'Label11' 'Label11' 'Label11' 'Label11'
'Label12' 'Label12' 'Label12' 'Label12' 'Label12' 'Label12'
'Label12' 'Label12' 'Label12' 'Label12'].
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.
我已经尝试过重塑,但回溯是一个系列没有属性重塑。使用 One Hot Encoder 的解决方法是什么?
【问题讨论】:
-
我不知道
OneHotEncoderAPI,但试试这个:df = pd.get_dummies(data = df, columns = ['label'])。这会给你同样的结果。 -
这是一个重复的问题,这种类型的问题每周都会在 Stack Overflow 上提出,所以也要检查一下。
-
对不起,这是一个重复的问题。我只找到了 pd.get_dummies 的解决方案,我想知道 One Hot Encoding 是否有一些不同
标签: python machine-learning scikit-learn data-science one-hot-encoding