2012-01-05 75 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]) 
相關問題