这个问题在概念上类似于这个问题:Python Pandas: How to create a binary matrix from column of lists?,但由于我的数据规模很大,我不想将其转换为pandas数据框。
我有一个如下的列表:
我希望您能够提供一个二进制矩阵,每个唯一的值都是一列,每个子列表是一行。如果有超过 100,000 个子列表,每个列表大约有 1,000 个项,应如何高效地完成此操作?编辑:示例输出类似于上面链接中的问题中的输出,其中该列表基本上可以视为:
我有一个如下的列表:
list_ = [[5, 3, 5, 2], [6, 3, 2, 1, 3], [5, 3, 2, 5, 2]]
我希望您能够提供一个二进制矩阵,每个唯一的值都是一列,每个子列表是一行。如果有超过 100,000 个子列表,每个列表大约有 1,000 个项,应如何高效地完成此操作?编辑:示例输出类似于上面链接中的问题中的输出,其中该列表基本上可以视为:
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
10**8
个唯一值,导致矩阵中有10**13
个条目,因此您最好拥有几个TB的内存来适应矩阵。更重要的是,为什么首先要将数据转换为不太内存有效的表示形式?请提供有关您正在解决的问题的更多上下文。 - Sven Marnach