我使用一段相当简单的代码来one hot encode
我的数据中的分类变量。代码如下:
from sklearn.preprocessing import OneHotEncoder
onehot_encoder = OneHotEncoder(sparse=False)
onehot_encoded_quartile = onehot_encoder.fit_transform(df.quartile.reshape(-1, 1))
onehot_encoded_mt = onehot_encoder.fit_transform(df.modality_type.reshape(-1, 1))
onehot_encoded_quartile.shape, onehot_encoded_mt.shape
((1, 2173651), (2173651, 31))
df
中的记录数:2173651
我希望这两个变量在第一维中具有相似的形状。正确的形状应该是(2173651,X)
,其中X是每个变量/特征中的类别数。
df.modality_type
中的类别数量:31
df.quartile
中的类别数量:3
以下是两个变量的内容:
df.modality_type.head(),df.quartile.head()
(8 0
11 0
15 0
16 0
21 1
Name: modality_type, dtype: int64, 8 0
11 1
15 1
16 2
21 2
Name: quartile, dtype: category
Categories (3, int64): [1 < 2 < 0])
为什么我在这里有不同的形状?如何才能将正确的形状设为(2173651,X)
?