从1D数组创建子数组-Python

从1D数组创建子数组-Python,python,arrays,numpy,Python,Arrays,Numpy,我在互联网上搜索,试图找到一个解决方案,并试图提出自己的解决方案,但似乎无法找到答案 我需要能够获取1D NumPy数组,在该数组中,每1024个值转换为32x32个数组后,继续执行,直到初始数组完全搜索完毕,并且为了避免任何错误,只需添加填充子数组所需的任何零 任何帮助或指导都将不胜感激 你真的不需要做太多。首先将阵列填充到1024的最接近倍数: arr = np.random.rand(1024 * 5 - 100) pad = -arr.size % 1024 if pad: a

我在互联网上搜索,试图找到一个解决方案,并试图提出自己的解决方案,但似乎无法找到答案

我需要能够获取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
或对其进行迭代将为您提供单个
(32,32)
图像。

请您提供一些可以测试的小示例。Thanks@MichaelSidorov. 为什么不干脆
np.random.rand(N)
?你有投票权。向上投票也很好
imgs = arr.reshape(-1, 32, 32)