scipy.io.

mmread#

scipy.io.mmread(источник, *, spmatrix=True)[источник]#

Считывает содержимое файла Matrix Market из источника в матрицу.

Параметры:
источникstr или file-like

Имя файла Matrix Market (расширения .mtx, .mtz.gz) или объект, подобный открытому файлу.

spmatrixbool, опционально (по умолчанию: True)

Если True, возвращает разреженный coo_matrix. В противном случае возвращает coo_array.

Возвращает:
andarray или coo_array

Плотный или разреженный массив в зависимости от формата матрицы в файле Matrix Market.

Примечания

Изменено в версии 1.12.0: Реализация на C++.

Примеры

>>> from io import StringIO
>>> from scipy.io import mmread
>>> text = '''%%MatrixMarket matrix coordinate real general
...  5 5 7
...  2 3 1.0
...  3 4 2.0
...  3 5 3.0
...  4 1 4.0
...  4 2 5.0
...  4 3 6.0
...  4 4 7.0
... '''

mmread(source) возвращает данные как разреженный массив в формате COO.

>>> m = mmread(StringIO(text), spmatrix=False)
>>> m

    with 7 stored elements and shape (5, 5)>
>>> m.toarray()
array([[0., 0., 0., 0., 0.],
       [0., 0., 1., 0., 0.],
       [0., 0., 0., 2., 3.],
       [4., 5., 6., 7., 0.],
       [0., 0., 0., 0., 0.]])

Этот метод использует многопоточность. Количество потоков по умолчанию равно количеству процессоров в системе. Используйте threadpoolctl переопределить:

>>> import threadpoolctl
>>>
>>> with threadpoolctl.threadpool_limits(limits=2):
...     m = mmread(StringIO(text), spmatrix=False)