为了账号安全,请及时绑定邮箱和手机立即绑定

如何堆叠for循环的每次迭代的输出?

如何堆叠for循环的每次迭代的输出?

饮歌长啸 2022-06-28 17:41:41
我有两个 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 来堆叠结果。谢谢你的帮助。
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

尝试定义一个由列表组成的列表。


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)


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信