{(k,i): value, ...}
というラベルの付いた辞書があります。この辞書を、配列[k,i]
の配列の要素に与えられた値が、ラベル(k,i)
の辞書の値である2次元配列に変換する必要があります。行の長さは必ずしも同じサイズである必要はありません(たとえば、行k = 4
はi = 60
に、行k = 24
はインデックスi = 31
になる可能性があります)。アシンメトリのために、特定の行のすべての追加エントリを0にして、長方形の行列を持たせても問題ありません。既知のインデックスを持つ辞書を多次元配列に変換する
# Get keys (as indices for output) and values as arrays
idx = np.array(d.keys())
vals = np.array(d.values())
# Get dimensions of output array based on max extents of indices
dims = idx.max(0)+1
# Setup output array and assign values into it indexed by those indices
out = np.zeros(dims,dtype=vals.dtype)
out[idx[:,0],idx[:,1]] = vals
我々はまた、最終的な出力を得るためにスパース行列を使用することができます -
サンプル入力/出力? –