我想知道下面的方法是否会被认为是不好的做法,如果是这样的话,是否有人可以为另一种方法提供一些指导。在
以下是相关代码:
a = np.array([[1,2,3],[4,5,6]])
b = np.array([-5,5])
c = np.array([np.multiply(a[x],b[x]) for x in range(2)])
这里的目标是获得与“a”形状相同的数组,其中“a”的第一个元素中的值乘以“b”的第一个元素,“a”的第二个元素中的值乘以“b”的第二个元素
上面的代码可以工作,但是考虑到所涉及的列表/数组的混合,我担心这是不建议使用的-但是我不清楚更优雅的解决方案。先谢谢你!在
NumPythonic方法是将} 对
b
的维数扩展到一个带有{a1}的二维数组,然后让^{vectorized elementwise multiplication
起作用。执行应该是这样的-一旦维度被扩展,您还可以使用
^{pr2}$np.multiply
获得相同的效果,如下-最重要的是,这里有一些性能数字可以说服您使用
broadcasting
-相关问题 更多 >
编程相关推荐