如何在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/