我有几个矩阵,每个矩阵存储在一个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
但是,由于我有数百个矩阵,我想轻松地做到这一点。
有没有办法同时导入所有内容并将其归入不同的变量?
答案 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)