如何从数字列表创建稀疏矩阵

dhe*_*raj 4 python list sparse-matrix

我有三个列表,即A,B,C所有这些列表包含97510个项目.我需要创建一个像这样的稀疏矩阵

matrix[A[0]][B[0]] = C[0]
Run Code Online (Sandbox Code Playgroud)

例如 ,

A=[1,2,3,4,5] 
B=[7,8,9,10,11] 
C=[14,15,16,17,18]
Run Code Online (Sandbox Code Playgroud)

我需要创建一个稀疏矩阵

matrix[1][7] = 14 #(which is C[1])
matrix[2][8] = 15 #and so on .. 
Run Code Online (Sandbox Code Playgroud)

我试过,python给我一个错误,说"索引值必须是连续的"

我该怎么做 ?

Fel*_*ing 8

我建议你看看SciPy稀疏矩阵.例如COO稀疏矩阵:

matrix = sparse.coo_matrix((C,(A,B)),shape=(5,5))
Run Code Online (Sandbox Code Playgroud)

注意:我刚刚接受了COO矩阵,因为它在示例中,您可以采取任何其他.您可能必须尝试哪一个最适合您的情况.它们在压缩数据的方式上都有所不同,这会对某些操作的性能产生影响.