python - 用python遍历一个二维数组
问题描述
我想将点存储在一个数组中,但我不确定如何遍历它。
x = np.dot(weights, corners)
x_points = np.zeros([100, 2])
for i in range(101):
x_points = (x + corners[np.random.randint(3)]) / 2
x = x_points
我试图像这样迭代我的数组:
x = np.dot(weights, corners)
x_points = np.zeros([100, 2])
for i in range(101):
x_points[i:,] = (x + corners[np.random.randint(3)]) / 2
x = x_points
我如何将每个点存储在我的数组中?
解决方案
您的 for 循环旨在迭代您的点数,但您从未专门从原始x
数组中选择第 i 行来处理;相反,您只需在每次迭代中使用整个数组。这是你应该做的:
for i in range(101):
x_points[i,:] = (x[i,:] + ...) / 2
(请注意,如果您愿意,您甚至可以省略第二个索引:x[i]
与 相同x[i,:]
。)
此外,您为存储在x_points
数组中的索引是错误的。我假设你打算x_points[i,:]
像我上面那样写,而不是x_points[i:,]
. 后者沿第一个轴将数组从第 i 行切到末尾,因此您的代码实际上一次修改的不止一行x_points
。
最后,我不明白您为什么要x = x_points
在每次循环迭代中分配。这样,在循环第一次运行后,您的原始x
数组就不再存在了。如果要“重命名” finalized x_points
,则需要将此行放在 for 循环之后。
推荐阅读
- google-cloud-platform - 使用 Google Cloud NLP 进行嵌套命名实体识别
- java - 自定义 TextToSpeechService 中的错误突出显示
- isabelle - 如何将标准应用于 Isabelle 中的所有子目标?
- amazon-web-services - AWS Lamdbas 使用 CloudFront 分配域作为环境变量
- docker - 同一台服务器上不能有多个 fiware/orion-ld docker 镜像
- sql - R中的SQL脚本仅提供有限数量的观察
- html - 我遇到了问题:在 Django 项目的 HTML 代码中加载静态文件。据我所知,对于 href 链接,我们使用“{% static 'addressOfFile' %}”
- python - 在opencv-python中为图像中roi之外的区域分配颜色
- sql-server - 在 MS SQL 中创建具有最大长度列的表时出错
- java - 如何为 Android Studio 制作一个用于自定义鼠标悬停提示的简单插件