我有一个(密集)矩阵n x n x m和一个稀疏向量(scipy.sparse) 1 x m。如果我们看一下我的密集n x n x m矩阵,它可以被解释为一个n x n矩阵,每个位置都有一个m x 1的向量。现在我想计算稀疏向量的点积,n x n矩阵中的每个m x 1密集向量产生一个包含所有这些点积的n x n矩阵。为此,一种方法是构建一个for循环,循环遍历n x n矩阵,然后使用scipy.sparse的.dot()函数计算矩阵中每个向量的点积。
构建scipy稀疏矩阵的最好方法之一是使用coo_matrix方法。are the row indices of the matrix entries但是,如果矩阵非常大,则将整个i,j和数据向量加载到存储器中是不现实的。如何构建这样的数据:( coo_matrix,(i,j))从磁盘馈送(使用迭代器或生成器),并且磁盘上的数组/向量对象为.npy或pickle格式?numpy
但是似乎将数组作为向量,"numpy.cumsum“输出是一个117000大小的向量,而不是一个(1000,117)维矩阵。这些是#中的代码行及其输出:#(1000, 117)#numpy.AxisError: axis 1 is out of bounds for array of dimension 1
下面是我创建</