我有两个numpy数组a和b,如下:
a = np.random.randint(0,10,(3,2))
Out[124]:
array([[0, 2],
[6, 8],
[0, 4]])
b = np.random.randint(0,10,(2,2))
Out[125]:
array([[5, 9],
[2, 4]])
我希望从a中的每一行中减去b中的每一行,期望输出为形状(3,2,2):
array([[[-5, -7], [-2, -2]],
[[ 1, -1], [ 4, 4]],
[[-5, -5], [-2, 0]]])
我可以使用以下方式实现这一点:
print(np.c_[(a - b[0]),(a - b[1])].reshape(3,2,2))
但我需要一个完全矢量化的解决方案或内置的numpy函数来完成这个任务。