将列表中的数组相乘

时间:2020-02-27 12:38:52

标签: arrays python-3.x numpy

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

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)

1 个答案:

答案 0 :(得分:1)

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

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


np.stack(mylist).prod(0)

输出:

array([ 2, 24])