Как быстро суммировать срезы матрицы CSR по модулю n - PullRequest
0 голосов
/ 28 мая 2020

Я сталкиваюсь с узким местом при суммировании фрагментов очень большой разреженной матрицы CSR в Python. Я хотел бы добавить столбцы матрицы CSR X по модулю некоторого n (мы можем предположить, что n | n_columns).

ex. если матрица X = 20x9 и n = 3 матрица F (X) = 20x3, где F (X) j, i = x {j, i} + x_ {j, i + 3} + x_ {j , i + 6}

мой текущий код:

n_rows, n_cols = X.shape

new_n_cols = n_cols // n

FX = np.sum (X [:, i * new_n_cols: (i + 1) * new_n_cols] для i в диапазоне (n))

Есть ли более быстрый способ сделать это для матриц CSR что не предполагает нарезки? что, возможно, просто использует операции с пространством indptr?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...