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 sparsedok
格式使用具有如下键的字典子类