3

Python配列から複数の要素を選択するにはどうすればよいですか?これはnumpy配列で可能であることは知っていますが、この場合はnumpy配列を使用できません。マスクされた配列の使用法に似た配列の特定の要素を選択したいのですが、Pythonで次のエラーが発生します

 nonzero = numpyarray.nonzero()
 pythonarray[nonzero] = numpyarray[nonzero]
 *** TypeError: only integer arrays with one element can be converted to an index

numpyarray[nonzero]正常に動作しますが、アクセスできませんpythonarray[nonzero]。Python配列でこれを行う方法はありますか?

4

1 に答える 1

1

ループを使用するだけです。

for idx in nonzero:
    pythonarray[idx] = numpyarray[idx]

Numpy配列は、パフォーマンスを最大化するためにn-aryインデックスをサポートしている可能性があります。Pythonリストは最適化ではそれほど進んでいないため、より単純なアプローチを使用する必要があります。

于 2012-09-05T01:54:10.450 に答える