如何在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行中重复1次,在第2行中重复3次2

最佳答案

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

关于python-3.x - 在MultiLabelBinarizer中获取计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56372324/

10-12 21:33