Я ищу решение для хранения около 10 миллионов чисел с плавающей запятой (двойной точности) разреженной матрицы. Матрица на самом деле представляет собой двумерную треугольную матрицу, состоящую из 1 миллиона на 1 миллион элементов. Элемент (i,j)
является фактическим показателем оценки score(i,j)
между элементом i
и элементом j
. Метод хранения должен обеспечивать очень быстрый доступ к этой информации, возможно, путем отображения в памяти файла, содержащего матрицу. Я, конечно, не хочу загружать весь файл в память.
class Score(IsDescription):
grid_i = UInt32Col()
grid_j = UInt32Col()
score = FloatCol()
Я пробовал pytables
, используя открытый класс Score
, но я не могу получить прямой доступ к элементу i,j
без сканирования всех строк. Любое предложение?