小编bat*_*tsc的帖子

稀疏矩阵中非零值的平均值?

我正在尝试计算稀疏行矩阵的每一行中的非零值的平均值.使用矩阵的均值方法不会这样做:

>>> from scipy.sparse import csr_matrix
>>> a = csr_matrix([[0, 0, 2], [1, 3, 8]])
>>> a.mean(axis=1)
matrix([[ 0.66666667],
        [ 4.        ]])
Run Code Online (Sandbox Code Playgroud)

以下工作但对于大型矩阵来说速度很慢:

>>> import numpy as np
>>> b = np.zeros(a.shape[0])
>>> for i in range(a.shape[0]):
...    b[i] = a.getrow(i).data.mean()
... 
>>> b
array([ 2.,  4.])
Run Code Online (Sandbox Code Playgroud)

有没有人可以告诉我,如果有更快的方法?

python scipy sparse-matrix

5
推荐指数
2
解决办法
2929
查看次数

标签 统计

python ×1

scipy ×1

sparse-matrix ×1