python - 从循环中将值插入到具有定义维度的数组中
问题描述
下午好,我正在尝试使用循环以数组的形式存储来自不同文本文件的值。我需要将从第一次迭代中获得的值存储在数组的第一行中,从第二次迭代中获得的值在第二个数组中等等......我试图通过最初创建一个零数组和然后用每次迭代的相应值替换零。然而,在循环结束时,只存储了最后一次迭代的值,也就是说,我在最后一行有一个零数组。我可能做错了什么,但我无法破译它。谁能帮我?我在这里留下代码的摘录。
nfile = 0
while nfile < 2:
a = np.loadtxt('day_'+str(nfile)+'.txt', delimiter=",")
amax = max(abs(a[:,0]))
bmax = max(abs(a[:,1]))
X = np.zeros((2, 2))
X[nfile] = (amax, bmax)
nfile = nfile + 1
print(X)
输出应该是:
array([[1.0404, 1.53 ],
[1.4827, 0.73 ]])
这是我得到的输出:
array([[0. , 0. ],
[1.4827, 0.73 ]])
解决方案
您在 while 循环本身中初始化 np.zeros((2,2)) ,因此在每次迭代时,您都在创建一个新的二维数组。只需在循环之前初始化 np.zeros((2,2)) ,它就会起作用。
推荐阅读
- python-3.x - 如何使用热图 seaborn 子图 Python 3.6.0 中的不同间隔值自定义 cmap 中的每种颜色?
- powershell - 使用 Powershell/批处理命令卸载 MS Office 更新(知识库文章)
- windows - 对特定类型的文件运行命令
- python - 无法将表格导入熊猫
- mysql - 为什么 MySQL 在安装过程结束时不给我密码?
- powerbi - 从 Excel 上传到 Power BI 的数据丢失
- flutter - Flutter:防止 FutureBuilder 总是刷新每个更改屏幕
- python - Matplotlib 用双头箭头连接散点图
- c# - 大量的Task.Delay会不会导致性能问题
- node.js - 在 node.js 的生产服务器上获取 502 Bad Gateway