Numpy比较嵌套数组

yuvru6vn  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(122)

我正在考虑任意n的形状为(n,2)的数组。我想检查两个元素的子数组是否匹配。举个例子:

  1. import numpy as np
  2. a=np.array([[1,0],[2,0]])
  3. b=np.array([[1,0],[2,0]])
  4. c=np.array([[3,0],[4,0]])
  5. d=np.array([[1,0],[5,0]])
  6. if (b == a).any() == True:
  7. print('y')
  8. if (c == a).any() == True:
  9. print('y1')
  10. if (d == a).any() == True:
  11. print('y2')

字符串
在这段代码中,我将第一个和第三个条件的值设为True。在编写代码时,所有语句都返回True,因为代码会按元素比较数组。
有没有一种简单的方法来完成这一点,而不必循环遍历每个数组并直接比较?

i34xakig

i34xakig1#

(c == a).all(axis=1).any()首先检查轴1上的所有元素是否相同,然后检查是否对任何子数组都是如此。
这只适用于如果你想比较子数组具有相同的第一个索引,即a[0]与b[0]或a[1]与b[1],但不是a[0]与b[1]。

相关问题