15

numpy 配列があり、配列から辞書を作成したいと考えています。

より具体的には、行に対応するキーを持つ辞書が必要なので、キー 1 は行 1 の合計でなければなりません。

s1 は私の配列であり、行の合計を取得する方法を知っていますがnumpy.sum(s1[i])、 i は行です。

行の合計を計算して辞書に追加できるループを作成することを考えていましたが、プログラミングが初めてなので、これを行う方法や可能かどうかわかりません。

誰か提案はありますか?

編集

範囲関数を使用してキー値を作成しました。次に、キーと配列を圧縮しました。

mydict = dict(zip(keys, s1))
4

1 に答える 1

21

dict(zip(keys, s1))2 つのマイナーな変更を加えて、あなたの と精神的に似たようなことをしたいと思います。

まず、 を使用でき、次に s のメソッドをenumerate呼び出すことができます。例:sumndarray

>>> arr = np.arange(9).reshape(3,3)
>>> arr
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
>>> arr.sum(axis=1)
array([ 3, 12, 21])
>>> dict(enumerate(arr.sum(axis=1)))
{0: 3, 1: 12, 2: 21}
于 2013-11-15T00:52:16.723 に答える