исключение элемента из массива numpy



Я хочу получить массив c в качестве результата, но я не знаю, как:



import numpy as np
a = xrange(10)
b = np.array([3,2,1,9])


C состоит из элементов a, которые не находятся в b:



c = np.array([0,4,5,6,7,8])
646   2  

2 ответов:

Возможно, более простым решением является следующее:

import numpy as np
a = xrange(10)
b = np.array([3,2,1,9])

c = np.setdiff1d(a,b)

В результате чего:

In [7]: c
Out[7]: array([0, 4, 5, 6, 7, 8])

Вы можете найти все set-подобные операции для массивов numpy в документации: http://docs.scipy.org/doc/numpy/reference/routines.set.html

import numpy as np
a = np.arange(10)
b = np.array([3,2,1,9])

np.array(sorted(set(a) - set(b)))
# array([0, 4, 5, 6, 7, 8])

UPDATE : работает и с a = xrange(10).

Comments

    Ничего не найдено.