gpt4 book ai didi

python - 如何在 NumPy 中一次乘以 3 个以上的向量

转载 作者:太空宇宙 更新时间:2023-11-04 09:31:23 25 4
gpt4 key购买 nike

我正在寻找一种在 NumPy 中将 3 个以上的向量相乘的向量化方法。

举个例子,

X = np.array([1,2,3])
Y = np.array([4,5,6])
Z = np.array([7,8,9])


Multiply([X,Y,Z])

将作为输出产生

np.array([28, 80, 162])

我想要相乘的向量不需要像我上面那样单独定义。例如,可能是矩阵的行(或列),在这种情况下,我想乘以此类矩阵的所有行(或列)。

帮助赞赏:)

最佳答案

您可以使用 ufunc 的 reduce 方法:

>>> np.multiply.reduce((X, Y, Z))                                                                                                                                                                                                                        
array([ 28, 80, 162])

这里发生的事情是 ufunc np.multiply,它看起来和行为都像函数,在技术上是类 numpy.ufunc 的一个实例;所有 ufunc 都有 four special methods ,其中之一是 .reduce(),在这种情况下,它会执行您正在寻找的操作,并从多个相同长度的一维数组中生成一维结果。

默认轴为0;如果您想沿着另一个轴工作,只需指定:

>>> np.multiply.reduce((X, Y, Z), axis=1)                                                                                                                                                                                                                
array([ 6, 120, 504])

关于python - 如何在 NumPy 中一次乘以 3 个以上的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55599437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com