假设我有两个数组:
a = [
[[-1, 0, 1],
[-2, 0, 2],
[-3, 0, 3]],
[[-4, 0, 4],
[-5, 0, 5],
[-6, 0, 6]]
]
和
b = [
[1, 3, 5],
[7, 11, 13]
]
我正在尝试找到最优雅的方式来结束输出
c = [
[[-1, 0, 1],
[-6, 0, 6],
[-15, 0, 15]],
[[-28, 0, 28],
[-55, 0, 55],
[-78, 0, 78]]
]
numpy 中是否有某种函数可以优雅地处理这个问题?
我浏览了 np.multiply() 和 np.dot() 的文档,但没有找到使用这些函数的好方法。我想我可以做一些丑陋的 for 循环来完成它,但我希望有更优雅的东西。
你可以使用广播来做到这一点
首先你需要检查数组的形状是否不相同,以便你可以进行板铸造
c= a[:, :, None] * b[None, :, :]
print(c)