python - 从一维数组创建子数组 - Python
问题描述
我已经在 Internet 上搜索以尝试找到解决方案,并尝试制作自己的解决方案,但似乎无法弄清楚。
我需要能够获取一个 1D NumPy 数组,并在该数组中,在每 1024 个值变成一个 32x32 数组并继续运行,直到完全搜索完初始数组并避免任何错误,只需附加任何必要的零填充子数组。
任何帮助或指导将不胜感激!
解决方案
你真的不需要做太多事情。首先将数组填充到最接近的 1024 倍数:
arr = np.random.rand(1024 * 5 - 100)
pad = -arr.size % 1024
if pad:
arr = np.concatenate((arr, np.zeros(pad, dtype=arr.dtype)))
然后重塑为形状数组(N, 32, 32)
:
imgs = arr.reshape(-1, 32, 32)
现在你有一堆图像。索引imgs
或迭代它会给你单独的(32, 32)
图像。
推荐阅读
- python - 如何将 numpy 数组与 pandas 系列相乘?
- java - 自定义 JFrame 中的按钮功能
- swift - 首次打开 App 时在 UserDefaults 中保存日期
- angular - Angular - 基于屏幕宽度的完整日历更改配置
- unit-testing - 通过 Google Apps 脚本中的闭包搜索树节点
- python - 使用 expand_dims 时,“尝试将 'dim' 转换为张量并失败”
- git - Bitbucket 无法使用 Jira 密钥推送提交
- google-cloud-platform - 将操作系统上传到 Google Compute Engine
- unity3d - 为什么 Camera.transform.Rotate(X, Y, 0) 会改变 Z?
- mysql - mySQL - 仅显示最常见的 & 所有其他列组合显示 0