2012-01-05 55 views

回答

4

没有一个简单的方法,我知道让一组整数索引的补充。布尔指数否定很容易,它可以让你做这样的事情:

In [100]: a=np.arange(6) 

In [101]: ind=[2,3] 

In [102]: cind=(a==a) 

In [103]: cind[ind]=False 

In [104]: a[cind] 
Out[104]: array([0, 1, 4, 5]) 

但它不是一条线路的解决方案。

+1

您可以用'np.ones(a.shape“布尔')'而不是'(a == a)' – 2012-01-05 16:40:45

1

也许是这样的:

import numpy 
a = numpy.arange(6) 
ind = [1,3] 
for x in range(6): 
if x not in ind: print a[x] 
1

这已经在这里之前的建议,但是这是一个列表的理解,因此一个oneliner:

numpy.array([a[i] for i in range(len(a)) if i not in ind]) 

结果

array([0, 1, 4, 5]) 
相关问题