Как создать разреженный массив NumPy из словаря индексов для ненулевых элементов? - PullRequest
1 голос
/ 27 сентября 2019

У меня есть словарь индексов, соответствующих ненулевым числам, и я хочу написать функцию, которая создает разреженный массив с ненулевыми элементами с заданными индексами, с нулями между ними.Пример:

{(0,0):2, (1,1):3}

будет выводить в следующий массив NumPy

([[2,0], [0,3]])

Какой самый простой способ преобразовать этот плотный словарь в разреженный массив?

1 Ответ

0 голосов
/ 27 сентября 2019

Это должно работать, единственное, что вам нужно, вы должны знать размеры для вашей продукции.

import numpy as np

d = {(0,0):2, (1,1):3}

S = 2
table = np.zeros((S,S))

for k,v in d.items():
    if d[k]:
        table[ k[0],k[1] ] = v

print(table)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...