我想知道下面的方法是否被认为是不好的实践,如果是,请给出其他方法的指导。
以下是相关的代码:
这里的目标是获得一个与'a'相同形状的数组,其中'a'的第一个元素的值乘以'b'的第一个元素,第二个元素的值乘以'b'的第二个元素。 上面的代码可以运行,但由于涉及到列表/数组的混合使用,我担心这不被建议使用 - 但我对更优雅的解决方案不清楚。非常感谢您的帮助!
以下是相关的代码:
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'的第一个元素,第二个元素的值乘以'b'的第二个元素。 上面的代码可以运行,但由于涉及到列表/数组的混合使用,我担心这不被建议使用 - 但我对更优雅的解决方案不清楚。非常感谢您的帮助!
b[:None]
与b[:, None]
非常不同,逗号是关键。前者是一个切片的一部分,即slice(None,None,None)
。而后者被 NumPy 理解为具有特殊的newaxis
意义。 - hpaulj