2015-05-08 222 views
1

删除我有两个阵列在NumPy的从numpy的阵列

a = np.array([]) 
b = np.array([]) 

这些阵列被填充在整个与粘性数值的代码。但是现在我想从两个数组中删除元素,其中a中的值大于5

我想这有点像

a = a[~a>5] 

,但我不知道如何删除与完全一样的索引元素数组b英寸

+1

可以设置一个索引'IX = A <= 5'然后'A = A [Ⅸ]'和'B = B [ ix]'(或者在一行中做'a = a [a <= 5]' – paddyg

+0

好的,谢谢! – Jamgreen

回答

0

您可以使用np.extract选择特定的元素,并再次重新分配给您的数组:

>>> x = np.arange(10) 
>>> x=np.extract(x<5,x) 
>>> x 
array([0, 1, 2, 3, 4]) 

numpy.extract(条件,ARR)

返回一个数组的元素满足一些条件。

也可以使用索引为这样的任务:

>>> x = np.array([3,4,7,11,0,34,6,1,3,4,2]) 
>>> x[x<5] 
array([3, 4, 0, 1, 3, 4, 2]) 
>>> np.extract(x<5,x) 
array([3, 4, 0, 1, 3, 4, 2])