Я пытаюсь создать и обновить разреженную матрицу при чтении данных из файла. Матрица размером 100000X40000
Создание и обновление разреженной матрицы в python с использованием scipy
Что является наиболее эффективным способом обновления нескольких записей разреженной матрицы? конкретно мне нужно увеличивать каждую запись на 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 Гб оперативной памяти, так что я должен быть осторожным, чтобы не взорвать его :)
он работает для 'lil_matrix' если правая рука' numpy' массив сопоставления формы, как 'А [1: 3, 0] + = np.array ([[2], [3]]) ' –
Да, я понял, что часть. но есть ли у вас какие-либо предложения по моей конкретной проблеме? например, с учетом индексов строк и индексов столбцов, я хочу увеличить все комбинации, как указано в вопросе. – syllogismos