Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想将 csr 矩阵的单行与标量相乘。在 numpy 我会做
matrix[indices,:] = x * matrix[indices,:]
对于 csr,这会在 scipy 中引发异常。
有没有办法用 csr 矩阵类似地做到这一点?
不,没有办法直接做到这一点,因为虽然你可以计算row * x,但你不能分配给 CSR 矩阵中的一行。您可以转换为 DOK 格式并返回,也可以直接处理 CSR 矩阵的内部结构。CSR 矩阵的第i' 行X是切片
row * x
i
X
X.data[X.indptr[i] : X.indptr[i + 1]]
您可以就地更新,即
X.data[X.indptr[i] : X.indptr[i + 1]] *= factor
(这显然适用于保持稀疏性的乘法和其他运算,但不适用于加法。)