私はプログラミングにかなり慣れていないので、これが古典的で些細な質問であれば申し訳ありません。100x100
によってプロットされた値の2D 配列がありますmatplotlib
。この画像では、各セルに値 ( 0.0
~の範囲1.0
) と ID (左上隅から始まる ~ の0
範囲) があります。2 つの辞書9999
を生成する 2x2 の移動ウィンドウを使用して、マトリックスをサンプリングしたい:
- 1 番目の辞書:キーは 4 つのセルの交点を表します。値は、隣接する 4 つのセルの ID を持つタプルを表します (下の画像を参照 -交差は "N" で表されます)。
- 2 番目の辞書:キーは 4 つのセルの交点を表します。値は、隣接する 4 つのセルの平均値を表します (下の画像を参照)。
以下の例 (左上のパネル{'0': (0,1,100,101)}
) では、N の ID=0 があり、セルには右側に向かって 0 から 99 まで、下に向かって 0 から 9900 まで、ステップ = 100 の番号が付けられているため、最初の辞書が生成
されます。0.775 は N の 4 つの隣接セルの平均値であるため、 2 番目の辞書は を生成{'0': 0.775}
します。もちろん、これらの辞書には、2D 配列にある「交点」と同じ数のキーが必要です。
これはどのように達成できますか?この場合、辞書は最良の「ツール」ですか?君たちありがとう!
PS: 私は独自の方法を試しましたが、私のコードは不完全で間違っていて、理解できません:
a=... #The 2D array which contains the cell values ranging 0.0 to 1.0
neigh=numpy.zeros(4)
mean_neigh=numpy.zeros(10000/4)
for k in range(len(neigh)):
for i in a.shape[0]:
for j in a.shape[1]:
neigh[k]=a[i][j]
...