Получение отсчетов в MultiLabelBinarizer - PullRequest
1 голос
/ 30 мая 2019

Как я могу получить количество предметов в MultiLabelBinarizer?

import pandas as pd
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()

pd.DataFrame(mlb.fit_transform([(1,1,2), (3,3,2,5)]),columns=mlb.classes_)

Out[0]: 
   1  2  3  5
0  1  1  0  0
1  0  1  1  1

Вместо этого я хочу получить

Out[0]: 
   1  2  3  5
0  2  1  0  0
1  0  1  2  1

Поскольку 1 повторяется 2 раза в строке 1, а 3 повторяется 2 раза в строке 2

1 Ответ

2 голосов
/ 30 мая 2019
from collections import Counter

data = [(1,1,2), (3,3,2,5)]
pd.DataFrame([Counter(x) for x in data]).fillna(0)

Выход:

    1       2   3       5
0   2.0     1   0.0     0.0
1   0.0     1   2.0     1.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...