Я пытаюсь создать и обновить разреженную матрицу при чтении данных из файла.
Матрица имеет размер 100000X40000
Каков наиболее эффективный способ обновления нескольких записей разреженной матрицы? в частности, мне нужно увеличивать каждую запись на 1.
Скажем, у меня есть индексы строк [2, 236, 246, 389, 1691]
и индексы столбцов [117, 3, 34, 2757, 74, 1635, 52]
поэтому все следующие записи должны быть увеличены на единицу:
(2,117) (2,3) (2,34) (2,2757) ...
(236,117) (236,3) (236, 34) (236,2757) ...
и т.д.
Я уже использую lil_matrix
, поскольку он дал мне предупреждение для использования, когда я пытался обновить одну запись.
lil_matrix
уже не поддерживает множественное обновление.
matrix[1:3,0] += [2,3]
дает мне недопустимую ошибку.
Я могу сделать это наивно, увеличивая каждую запись по отдельности. Мне было интересно, есть ли какой-нибудь лучший способ сделать это, или лучше разреженную матричную реализацию, которую я могу использовать.
Мой компьютер также является средним i5-машиной с 4 ГБ оперативной памяти, поэтому я должен быть осторожным, чтобы не взорвать его:)