1
Numpyは非常に自然に要素単位の操作を行います。私はちょうどループのネストされたを作成することができ要素ごとのnumpy関数の引数として(行、列)を追加しますか?
def neighbor_count(arr, row, col):
hood = arr[row-1:row+1, col-1, col+1]
return np.sum(hood)-arr[row,col]
:
for (i, row) in enumerate(arr[1:-1]):
for (j, col) in enumerate (row[1:-1]):
c = neighbor_count(arr, i+1, j+1)
しかし、それは諦めと行くような感じしかし、多くの場合、私のような、機能を書くときも、要素の位置を持ちたいです私はC++でどのように働くかに戻る。
賢明なPythonicソリューションはありますか?
おそらく、期待した結果を持つ小さな例を追加する必要があります。たとえば、 'np.random.seed(0);a = np.random.randint(0,5,25).reshape([5、5]) 'そして、その配列を使用して、あなたが期待した結果を達成しようとしていることを説明してください。 – Alexander
お望みですか? 'col-1:col + 1'? 'フード'は 'arr [row、col]'を取り囲む(そしてそれを含む)要素の(3,3)セットであるはずですか? '[1:-1]の目的は、オフ・ザ・エンドでの実行を避けることですか?より速い移動ウィンドウまたは画像畳み込みアプローチがいくつかあります。 – hpaulj
完全なコード、十分な入力と予想される出力を示してください。あなたの質問は、信頼性の高い有用な答えを出すにはあまりにも断片的です。 –