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 元索引以最大化性能;Python 列表在优化方面并没有那么远,因此您必须使用更简单的方法。

于 2012-09-05T01:54:10.450 回答