我正在考虑任意n的形状为(n,2)的数组。我想检查两个元素的子数组是否匹配。举个例子:
import numpy as np
a=np.array([[1,0],[2,0]])
b=np.array([[1,0],[2,0]])
c=np.array([[3,0],[4,0]])
d=np.array([[1,0],[5,0]])
if (b == a).any() == True:
print('y')
if (c == a).any() == True:
print('y1')
if (d == a).any() == True:
print('y2')
字符串
在这段代码中,我将第一个和第三个条件的值设为True。在编写代码时,所有语句都返回True,因为代码会按元素比较数组。
有没有一种简单的方法来完成这一点,而不必循环遍历每个数组并直接比较?
1条答案
按热度按时间i34xakig1#
(c == a).all(axis=1).any()
首先检查轴1上的所有元素是否相同,然后检查是否对任何子数组都是如此。这只适用于如果你想比较子数组具有相同的第一个索引,即a[0]与b[0]或a[1]与b[1],但不是a[0]与b[1]。