Я использую операцию set в python для выполнения симметричной разницы между двумя массивами numpy. Результатом, однако, является набор, и мне нужно преобразовать его обратно в массив numpy, чтобы двигаться вперед. Есть ли способ сделать это? Вот что я пробовал:
a = numpy.array([1,2,3,4,5,6])
b = numpy.array([2,3,5])
c = set(a) ^ set(b)
Результаты представляют собой набор:
In [27]: c
Out[27]: set([1, 4, 6])
Если я конвертирую в массив numpy, он помещает весь набор в первый элемент массива.
In [28]: numpy.array(c)
Out[28]: array(set([1, 4, 6]), dtype=object)
Мне нужно, однако, следующее:
array([1,4,6],dtype=int)
Я мог бы перебирать элементы для преобразования по одному, но у меня будет 100 000 элементов и надеемся на встроенную функцию для сохранения цикла. Спасибо!