我有一列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)
最佳答案
pd.DataFrame(mlb.fit_transform(df['Genres_relevant']), columns=mlb.classes_,
index=df.index)
适合时,不要传递完整的数据帧,而应传递列。
关于python - MultiLabelBinarizer不适用于具有多个数组的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55826200/