Я пытаюсь вычислить среднее значение ненулевых значений в каждой строке разреженной матрицы строк. Используя средний метод Матрицы не делает:Среднее значение ненулевых значений в разреженной матрице?
>>> from scipy.sparse import csr_matrix
>>> a = csr_matrix([[0, 0, 2], [1, 3, 8]])
>>> a.mean(axis=1)
matrix([[ 0.66666667],
[ 4. ]])
следующие работы, но медленно для больших матриц:
>>> 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.])
Может кто-нибудь пожалуйста, скажите мне, если есть более быстрый способ?
Отлично, спасибо – batsc