根据需要添加多个np.newaxis?

问题描述

我想成对比较两个NumPy <= ndarrayA的所有元素(与B),其中两个数组都可以具有任意维m和n ,这样结果就是尺寸为m + n的数组。

对于给定的B,我知道该怎么做。

  1. 标量:A <= B

  2. 一维:A[...,np.newaxis] <= B

  3. 二维: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