如何获取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次
答案 0 :(得分: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