Существует ли очень быстрый способ дополнить матрицу столбцов Scipy CSR нулями с обеих сторон? - PullRequest
0 голосов
/ 27 февраля 2020

Например, у меня есть матрица столбцов A следующим образом:

A:
[1,
 2, 
 3, 
 4,]

Мне нужно очень быстро дополнить x и y количеством нулей сверху и снизу. Здесь пусть x = 2 и y = 3. поэтому результирующая матрица B после заполнения будет:

B:
[0,
 0,
 1,
 2, 
 3, 
 4,
 0,
 0,
 0]

Теперь проблема в том, что это ОЧЕНЬ большие матрицы столбцов, и их миллионы, и я Знаю, что в CSR-представлении мне просто нужно изменить форму матрицы и индексы. Может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 27 февраля 2020

Заполнение только A.indptr с numpy.pad должно быть достаточно быстрым:

B = csr_matrix((A.data, A.indices, numpy.pad(A.indptr, (x, y), "edge")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...