python - 如何堆叠for循环的每次迭代的输出?
问题描述
我有两个 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)
推荐阅读
- python - 根据项目中的值从列表中提取位置
- swift - 使用 Audiokit pod 重复符号
- c# - 覆盖继承的 Razor 组件的 HTML 内容
- javascript - 如何避免在任何地方使用 async 关键字?
- git - 将提交移动到新分支并从 master 中删除这些提交
- firebase - 在云功能中记录或抛出错误的正确方法是什么?
- reactjs - 我的反应有问题,我想在应用程序中有 2 个导航栏样式
- pdf - iText 打开 PDF,无法阅读内容
- python - 无法在 Anaconda 中安装 Jupyter Notebook
- html - SVG rect round 看起来不同取决于它的位置