MultiLabelBinarizer不适用于具有多个阵列的列

问题描述 投票:1回答:1

我有一个包含15000个数组的列。请查看15000中的2个此类记录的样本。我想为Genres_relevant下的值创建虚拟对象。

user Genres_relevant    
 1         [2.0]
 2     [3.0,2.0,1.0]

码:

from sklearn.preprocessing import MultiLabelBinarizer
df=pd.DataFrame(users_list['Genres_relevant'])
mlb = MultiLabelBinarizer()
pd.DataFrame(mlb.fit_transform(df),columns=mlb.classes_, index=df.index)

预期产出

   1.0  2.0  3.0
1   0    1    0
2   1    1    1

错误:传递值的形状为(12,1),索引意味着(12,15000)

python data-science
1个回答
1
投票
pd.DataFrame(mlb.fit_transform(df['Genres_relevant']), columns=mlb.classes_, 
         index=df.index)

在拟合时,不要传入完整的数据帧,而是传入列。

© www.soinside.com 2019 - 2024. All rights reserved.