问题描述
我想成对比较两个NumPy <=
ndarray
和A
的所有元素(与B
),其中两个数组都可以具有任意维m和n ,这样结果就是尺寸为m + n的数组。
对于给定的B
,我知道该怎么做。
-
标量:
A <= B
-
一维:
A[...,np.newaxis] <= B
-
二维:
A[...,np.newaxis,np.newaxis] <= B
基本上,我正在寻找一种插入与第二个数组中的维度一样多的np.newaxis
的方法。
是否有np.newaxis * B.ndim
之类的语法或其他方式?
解决方法
具有内置功能-
np.less_equal.outer(A,B)
另一种方法是重塑形状以适应新轴-
A.reshape(list(A.shape)+[1]*B.ndim) <= B