gpt4 book ai didi

python - Numpy 函数在两个 ndarray 上运行

转载 作者:太空宇宙 更新时间:2023-11-03 20:58:46 26 4
gpt4 key购买 nike

给定两个 ndarrays a = np.asarray([[0,1,2],[3,4,5]])b = np.asarray([[6 ,7,8],[9,10,11]])我想编写一个迭代 a 和 b 的函数,这样

  1. 考虑[0,1,2]和[6,7,8]
  2. 考虑[3,4,5]和[9,10,11]

一个例子是一个需要

的函数
  1. [0,1,2] 和 [6,7,8] 作为输入,输出 0*6+1*7+2*8 = 23
  2. [3,4,5] 和 [9,10,11] 作为输入,输出 3*9+4*10+5*11 = 122

-> (23,122)

有什么方法可以在 numpy 中有效地做到这一点吗?我的想法是压缩两个数组,但是,这效率不高。

编辑:我正在寻找一种应用可自定义函数myfunc(x,y)的方法。在前面的示例中,myfunc(x,y) 对应于乘法。

最佳答案

c = a * b 
sum1 = c[0].sum()
sum2 = c[1].sum()

如果你想要算法方式(自定义函数)

a = np.asarray([[0,1,2],[3,4,5]])
b = np.asarray([[6,7,8],[9,10,11]])


for i in range(a.shape[0]) :
s = 0
for j in range(a.shape[1]) :
s = s + a[i][j]*b[i][j]
print(s)

关于python - Numpy 函数在两个 ndarray 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55834654/

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