首页 > 解决方案 > 将列表中的数组相乘

问题描述

我有一个具有相同形状的数组列表,如下所示:

my_list = [arr_1, arr_2, arr_3, ...]

arr_1.shape
(1988, 1221)
...

有没有办法将列表中的每个数组相乘并获得具有相同形状的最终数组?

我已经尝试过这种方式,但它不起作用:

for i in my_list:
    arr_final = np.multiply(my_list[i])

最终数组应该与初始列表中的每个数组相同。

arr_final.shape
(1988, 1221)

标签: arrayspython-3.xnumpy

解决方案


您可以将它们堆叠并取出产品:

mylist = [np.array([1,2]), np.array([2,3]), np.array([1,4])]


np.stack(mylist).prod(0)

输出:

array([ 2, 24])

推荐阅读