2013-11-15 17 views
7

私は配列が少ないので、配列から辞書を作成したいと思います。numpy配列から辞書を作成する

具体的には、私は行に対応したキーを持つ辞書をしたいので、キー1行1

S1の合計でなければなりませんが、私の配列であり、私は、行の合計を取得する方法を知っているが、 numpy.sum(s1[i])を実行します。ここでiは行です。

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

誰か提案はありますか?

EDIT

私はレンジ機能付きのキー値を作成しました。 次に、キーと配列を圧縮します。

mydict = dict(zip(keys, s1)) 

答えて

8

私はあなたのdict(zip(keys, s1))と似たような趣旨で、2つのマイナーチェンジを行います。

まず、enumerateを使用し、次にsumメソッドをndarrayと呼びます。例:

>>> 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}