python - Scipy 稀疏矩阵乘法

标签 python numpy matrix scipy sparse-matrix

我有这个使用 numpy 数组进行矩阵乘法的例子:

import numpy as np
m = np.array([[1,2,3],[4,5,6],[7,8,9]])
c = np.array([0,1,2])
m * c
array([[ 0,  2,  6],
       [ 0,  5, 12],
       [ 0,  8, 18]])

如果 m 是 scipy 稀疏 CSR 矩阵,我如何做同样的事情?这给出了维度不匹配:

sp.sparse.csr_matrix(m)*sp.sparse.csr_matrix(c)

最佳答案

您可以调用csr_matrixmultiply 方法进行逐点乘法。

sparse.csr_matrix(m).multiply(sparse.csr_matrix(c)).todense()

# matrix([[ 0,  2,  6],
#         [ 0,  5, 12],
#         [ 0,  8, 18]], dtype=int64)

关于python - Scipy 稀疏矩阵乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42537943/

相关文章:

python - python中的特殊字符

python - 向灰度图像添加颜色叠加

python - 将 numpy 数组映射到 pandas DataFrame 会导致 ValueError

c++ - 使用 std::initializer_list 初始化矩阵

python - 如果前面没有数字,则按 '.' 分割

python - 用 python 平均多个 netCDF4 文件

python - 使用 Numpy 的成对 vdot

r - 选择矩阵的前 n 行

c - 我不小心用条件句(如果)更改了变量?

python - Google Api Auth Http 模块错误