gpt4 book ai didi

python - 逐行进行一定的 numpy 乘法

转载 作者:行者123 更新时间:2023-12-02 01:29:45 25 4
gpt4 key购买 nike

我有两个 NumPy 数组,我想将它们在每一行中相互相乘。为了说明我的意思,我将代码放在下面:

import numpy as np 

a = np.array([
[1,2],
[3,4],
[5,6],
[7,8]])


b = np.array([
[1,2],
[4,4],
[5,5],
[7,10]])

final_product=[]
for i in range(0,b.shape[0]):
product=a[i,:]*b
final_product.append(product)

除了使用循环和列表之外,是否有更直接、更快、更优雅的方式在 NumPy 中执行上述行乘法?

最佳答案

通过使用适当的 reshape 和重复,您可以实现您正在寻找的内容,这是一个简单的实现:

a.reshape(4,1,2) * ([b]*4)

如果长度是动态的,你可以这样做:

a.reshape(a.shape[0],1,a.shape[1]) * ([b]*a.shape[0])

注意:确保a.shape[1]b.shape[1]保持相等,而a.shape[0] > 和 b.shape[0] 可以不同。

关于python - 逐行进行一定的 numpy 乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73588234/

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