在Scipy中,將csr矩陣列的每個元素相乘

2024-09-28 21:50:46 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将csr矩阵的特定列与固定值相乘(例如5) 我的方法似乎行不通。首先,我要创建一个与我的矩阵列大小相同的update_向量,该列填充了我的默认值。然后我利用Scipy csr矩阵的乘法方法:

_column = _matrix.getcol(_index)
update_vector = numpy.tile(5, (_column.shape[0], 1))
_matrix[:, _index].multiply(update_vector)

代码运行正常,但矩阵保持不变。我必须先创建一个副本还是有其他解决问题的可能性?在

谢谢


Tags: 方法numpy利用indexupdatecolumn矩阵scipy
1条回答
网友
1楼 · 发布于 2024-09-28 21:50:46

执行此操作的低级方法如下:

_matrix.data[_matrix.indices == _index] *= 5

如果你不能简单地做到:

^{pr2}$

尽管不看源代码就很难知道这是真的发生了还是触发了某种形式的复制。在

相关问题 更多 >