繁体   English   中英

在python中找到两个数组之间的互斥元素的索引

[英]Find indices of mutually exclusive elements between two arrays in python

我有两个数组,并且我发现了如何使用np.setxor1d(a,b)标识互斥元素。 例如:

a = np.random.randint(11, size=10) #first array
b = np.random.randint(11, size=10) #second array
ex = np.setxor1d(a,b)              #mutually exclusive array

a
Out[1]: [1, 5, 3, 7, 6, 0, 10, 10, 0, 9]
b
Out[2]: [1, 9, 8, 6, 3, 5, 8, 0, 3, 10]
ex
Out[3]: [7, 8]

现在,我试图找出如何获取ab的排他数组元素的索引, ex a_mutex_indb_mutex_ind 没有人知道没有for循环的聪明方法吗? 谢谢!

>>> x = np.setxor1d(a, b)
>>> i, = np.nonzero(np.in1d(a, x))
>>> i
array([3])
>>> a[i]
array([7])

和类似的b

>>> j, = np.nonzero(np.in1d(b, x))
>>> j
array([2, 6])
>>> b[j]
array([8, 8])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM