1
2次元配列の各行で1つの要素を減らす場合は、各行に1つのインデックスを指定します。だから、基本的に、私は次のようにベクトル化したい:numpy配列の各行の1つの要素を列インデックスで修正する
for row, col in enumerate(indices):
array[row,col] -= 1
私はnumpy.choose
を使用して変更したい要素を選択することができますが、その後、残念ながら、これらの要素は、単にコピーされます。換言すれば、このようなものは動作しません:
selection = np.choose(indices, array.T)
selection -= 1
クール。私たちは範囲を取り除くことができないと思いますか? – purefanatic
いいえ、私たちはそれを取り除くことはできません。このようなレンジ配列の作成は、実際には高価ではありません。 – Divakar