如何堆叠for循环每次迭代的输出?
How to stack the output of each iteration of a for loop?
我有两个 for 循环生成一个形状为 (1, 3) 的数组。
我想将每次迭代的结果垂直堆叠在一个数组中。更清楚的是,最终输出应该是一个 (3, 3) 数组,其中第一行是第一次迭代的结果,依此类推。
我的代码如下所示:
for i in range (2):
for j in range (i, 2):
yparam = The_path / ("{}_Y{}{}.csv" .format('Filter',i+1,j+1) )
with open( yparam ,'r', newline='') as Y_parameter_Data:
data = numpy.loadtxt(Y_parameter_Data, skiprows=1, delimiter=',')
ypar = []
for k in range(0, len(3)):
a = numpy.reshape(data[k,1::2], (1,1))
b = numpy.reshape(data[k,2::2], (1,1))
ypar.append(a+j*b)
c = ypar
fdata= numpy.asarray(c)
fdata= numpy.reshape(fdata, (1,-1))
fdata= fdata
这里的问题是如何保存每次迭代的fdata。然后我可以使用 numpy.vstack 来堆叠结果。
感谢您的帮助。
尝试定义一个由列表组成的列表。
for i in range (2):
InnerList=[]
for j in range (i, 2):
yparam = The_path / ("{}_Y{}{}.csv" .format('Filter',i+1,j+1) )
with open( yparam ,'r', newline='') as Y_parameter_Data:
data = numpy.loadtxt(Y_parameter_Data, skiprows=1, delimiter=',')
ypar = []
for k in range(0, len(3)):
a = numpy.reshape(data[k,1::2], (1,1))
b = numpy.reshape(data[k,2::2], (1,1))
ypar.append(a+j*b)
c = ypar
fdata= numpy.asarray(c)
fdata= numpy.reshape(fdata, (1,-1))
fdata= fdata
InnerList.append(fdata)
OuterList.append(InnerList)
我有两个 for 循环生成一个形状为 (1, 3) 的数组。
我想将每次迭代的结果垂直堆叠在一个数组中。更清楚的是,最终输出应该是一个 (3, 3) 数组,其中第一行是第一次迭代的结果,依此类推。 我的代码如下所示:
for i in range (2):
for j in range (i, 2):
yparam = The_path / ("{}_Y{}{}.csv" .format('Filter',i+1,j+1) )
with open( yparam ,'r', newline='') as Y_parameter_Data:
data = numpy.loadtxt(Y_parameter_Data, skiprows=1, delimiter=',')
ypar = []
for k in range(0, len(3)):
a = numpy.reshape(data[k,1::2], (1,1))
b = numpy.reshape(data[k,2::2], (1,1))
ypar.append(a+j*b)
c = ypar
fdata= numpy.asarray(c)
fdata= numpy.reshape(fdata, (1,-1))
fdata= fdata
这里的问题是如何保存每次迭代的fdata。然后我可以使用 numpy.vstack 来堆叠结果。 感谢您的帮助。
尝试定义一个由列表组成的列表。
for i in range (2):
InnerList=[]
for j in range (i, 2):
yparam = The_path / ("{}_Y{}{}.csv" .format('Filter',i+1,j+1) )
with open( yparam ,'r', newline='') as Y_parameter_Data:
data = numpy.loadtxt(Y_parameter_Data, skiprows=1, delimiter=',')
ypar = []
for k in range(0, len(3)):
a = numpy.reshape(data[k,1::2], (1,1))
b = numpy.reshape(data[k,2::2], (1,1))
ypar.append(a+j*b)
c = ypar
fdata= numpy.asarray(c)
fdata= numpy.reshape(fdata, (1,-1))
fdata= fdata
InnerList.append(fdata)
OuterList.append(InnerList)