Abacus и scipy не согласны с тем, как должен выглядеть файл Matrix Market.
Первая проблема, которая вызывает вашу ошибку, заключается в том, что scipy ожидает пробел между каждым столбцом, следовательно, ваш "ожидаемый 5, получил 3"" ошибка.Изменение вашего примера ввода вручную, чтобы содержать пробелы:
1, 1, 1, 1, 1.939258533333333e-02
1, 2, 1, 2, 1.939258533333333e-02
2, 1, 2, 1, 1.889629366666666e-02
Ошибка меняется на
ValueError: source is not in Matrix Market format
Это имеет смысл для меня, потому что документы mmread
говорит, что возвращаемое значение равно
Плотная или разреженная матрица в зависимости от формата матрицы в файле Matrix Market.
Что может означать, что есть хотя бы некоторые метаданные (заголовки?) отсутствует в файле, что делает его нестандартным.Так что либо
- файл не является правильным файлом .mtx, либо
- указанный формат не поддерживается scipy
В любом случае выВероятно, придется разобрать файл самостоятельно.Если вы знаете, что означают первые четыре столбца, вы, вероятно, можете легко разобрать его, используя numpy.loadtxt
или что-то подобное.