Python 如何从非零元素的索引字典中创建稀疏numpy数组?

Python 如何从非零元素的索引字典中创建稀疏numpy数组?,python,numpy,Python,Numpy,我有一个对应于非零数字的索引字典,我想写一个函数,在给定的索引处创建一个稀疏数组,数组中的元素为非零,中间为零。 例: {(0,0):2,(1,1):3} 将输出到以下numpy数组 ([[2,0],[0,3]] 将此密集字典转换为稀疏数组的最简单方法是什么?这应该可以,您只需要知道输出的维度 import numpy as np d = {(0,0):2, (1,1):3} S = 2 table = np.zeros((S,S)) for k,v in d.items():

我有一个对应于非零数字的索引字典,我想写一个函数,在给定的索引处创建一个稀疏数组,数组中的元素为非零,中间为零。 例:

{(0,0):2,(1,1):3}
将输出到以下numpy数组

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

将此密集字典转换为稀疏数组的最简单方法是什么?

这应该可以,您只需要知道输出的维度

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)


这应该行得通,你唯一需要的是,你应该知道你输出的尺寸

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)


scipy sparse
dok
格式使用具有如下键的字典子类scipy sparse
dok
格式使用具有如下键的字典子类