我在 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 个元素,并希望有一个内置函数来保存循环。谢谢!