2个numpy数组中的所有布尔组合



numpy中是否存在一个现有函数,该函数接受2个numpy数组(x,y(,并为每个i,j(x[i]>y[j](返回一个布尔矩阵

例如,设x=[3,4,5],y=[1,2,3],我想要

res = [ [True, True, False],
[True, True, True],
[True, True, True] ]

这里不需要函数,只要正确地塑造数组,数组广播就可以工作。我想你想要这种方法,它使x成为列向量,y成为行向量:

x = np.array([3,4,5])
y = np.array([1,2,3])
res = x[:,None] > y[None,:]

使用numpy,您可以将x和y列表强制转换为如下数组:x = np.array([3,4,5]) y=np.array([1,2,3]),然后numpy只需执行:print(x > y)即可进行元素比较

最新更新