python-3.x - 如何在循环中将项目添加到 numpy hstack?
问题描述
这个代码..
array = np.array([[1, 2, 3], [3, 4, 5]])
for k in range(0, len(array)):
final_array = np.hstack(array[k, :])
print(final_array)
只会打印最后一个 [3,4,5] 而不是 hstack 中的整个数组。
我尝试做final_array += np.hstack(array[k, :]),但是 Python 给了我一个错误。还尝试在连接之前重塑数组。
我的目标是以相反的顺序将数组项添加到 hstack 中,所以我认为我需要使用循环——而不仅仅是将整个数组插入到 hstack 调用中。
我在网上找到的所有示例都很简单,您有两个数组并调用 hstack。但是,我还没有找到任何在一个循环中组合连续数组的方法。
我假设这很简单,但解决方案让我无法理解。
提前感谢您的建议。
解决方案
您的循环不断用新值覆盖final_array
,因此最后只剩下最后一次循环迭代的值。
像这样使用循环构建数组是失败的,它非常慢。相反,只需说出np.hstack(array)
并一口气完成所有工作。这将快 10-100 倍。
推荐阅读
- r - 将n添加到R中的变量名
- pytest - 如果特定参数的依赖失败,则跳过测试
- html - 菜单不保留选择(Angular v10)(HTML)
- python - Python 硒选择 div
- javascript - 当用户最小化浏览器或打开新选项卡时,D3.js svg 路径数据不会在屏幕中更新
- xml - 使用 xslt 1.0 重命名节点
- python - 使用python将字典中的键和值写入csv
- image-processing - 用于绘图质量分类的混合神经网络
- python-3.x - 使用图形工具将分层二部图转换为圆形图
- sql-server - SSIS SMO 连接到 SQL Server,使用传输对象任务,引发各种连接类型错误