[英]Operations on rows in scipy sparse matrix of csr format
我想将csr矩阵的单行与标量相乘。 在numpy我会做
matrix[indices,:] = x * matrix[indices,:]
对于csr,这在scipy中引发了异常。
有没有办法用csr矩阵类似地做到这一点?
不,没有办法直接这样做,因为虽然你可以计算row * x
,但你不能分配到CSR矩阵中的一行。 您可以转换为DOK格式并返回,或直接处理CSR矩阵的内部。 CSR矩阵X
的第i
行是切片
X.data[X.indptr[i] : X.indptr[i + 1]]
你可以就地更新,即
X.data[X.indptr[i] : X.indptr[i + 1]] *= factor
(这显然适用于乘法和其他保持稀疏性的操作,但不适用于添加。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.