将numpy矩阵加在一起

时间:2014-09-05 10:20:25

标签: python numpy matrix

我有几个矩阵,每个矩阵存储在一个NumPy数组中,我想将它们全部添加。

a1=np.load("20130101T054446")
a2=np.load("20130102T205729")
a3=np.load("20130104T153006")
a4=np.load("20130113T130758")
a5=np.load("20130113T212154")

我知道可以将它们添加到此处:

z=a1+a2+a3+a4+a5

但是,由于我有数百个矩阵,我想轻松地做到这一点。

有没有办法同时导入所有内容并将其归入不同的变量?

2 个答案:

答案 0 :(得分:2)

为了避免在内存中创建大量矩阵,最好一次一个地读取它们并将它们添加到位。

首先加载你的第一个矩阵:

z = np.load("20130101T054446")

然后一次一个地读取剩余的矩阵,将每个矩阵添加到z

matrices = ["20130102T205729", "20130104T153006", "20130113T130758",  "20130113T212154"]

for m in matrices:
    z += np.load(m)

答案 1 :(得分:0)

您可以创建一个包含要加载的所有数据集的列表,将它们加载到列表中,然后将它们相加,而不是将每个数据集加载到另一个变量中。

import numpy as np

datasets = ["20130101T054446",
    "20130102T205729",
    "20130104T153006",
    "20130113T130758",
    "20130113T212154"] # easy to extend if you have more of them

a = [np.load(d) for d in datasets]

z = np.sum(a, axis=0)