У меня такой вопрос: как я могу преобразовать фрейм данных таким образом, чтобы в конечном итоге использовать его в MulitLabelBinarizer Scikit:
d1 = {'ID':[1,2,3,4], 'km':[80,90,90,100], 'weight':[10,20,20,30], 'label':['A','B','C','D','E']}
df1 = pd.DataFrame(data=d1)
df1
ID km weight label
0 1 80 10 A
1 2 90 20 B
2 2 90 20 C
3 4 100 30 D
Он должен работать так:
d2 ={'km':[80,90,100], 'weight':[10,20,30], 'label':['A',('B','C'),'D']}
df2 = pd.DataFrame(data=d2)
df2
km weight label
0 80 10 A
1 90 20 (B, C)
2 100 30 D
ТакЯ могу правильно использовать данные в MultiLabelBinarizer:
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
mlb.fit(df2['label'])
mlb.transform(df2['label'])
array([[1, 0, 0, 0],
[0, 1, 1, 0],
[0, 0, 0, 1]])
Примечание: необработанные данные имеют более 1 миллиона строк.