如何在Python的稀疏矩阵中添加整列

时间:2018-06-19 14:06:38

标签: python scipy sparse-matrix

我在Python中有一个稀疏矩阵A,我想在第一列中添加14。

A[:,0] + 14

但是,我收到一条错误消息:

NotImplementedError: adding a nonzero scalar to a sparse matrix is not supported

2 个答案:

答案 0 :(得分:1)

您可以添加一个明确的列,如下所示:

A[:, 0] = np.ones((A.shape[0], 1))*14 + A[:, 0]

答案 1 :(得分:0)

我遇到了类似的情况(如您的问题标题中所述),经过一番研究,我发现您可以manually change the shape of your matrix,但是,这看起来并不是最好的解决方案,因此,我开始讨论here,我的最终解决方案是手动创建稀疏矩阵(ìndicesindptrdata列表),以便我可以添加新的列,行并更改矩阵稀疏性。

问题的说明提出了另一个问题,您不想添加新列,而是要更改矩阵中元素的值。如果这改变了矩阵稀疏性,我建议您有自己的ìndicesindptrdata列表。如果要修改非零元素,则可以直接对其进行更改,而不会产生更多问题。

另外,this可能值得一读