此问题在概念上类似于此处的问题:Python Pandas: How to create a binary matrix from column of lists?,但由于我的数据大小,我不想转换为pandas数据框。
我有一个列表,如下所示,
list_ = [[5, 3, 5, 2], [6, 3, 2, 1, 3], [5, 3, 2, 5, 2]]
我想要一个二进制矩阵,每个唯一值作为一列,每个子列表作为一行。
如何在超过100000个子列表中有效地完成这些操作,每个子列表包含大约1000个项目?
编辑:
示例输出类似于上面链接的问题中的输出,其中列表基本上可以被视为:
list_ = [["a", "b"], ["c"], ["d"], ["e"]]
a b c d e
0 1 1 0 0 0
1 0 0 1 0 0
2 0 0 0 1 0
3 0 0 0 0 1
答案 0 :(得分:1)
使用sklearn
的{{1}}
CountVectorizer
出于记忆原因,您可能希望将其保留为稀疏矩阵。