有这个如何将列表拆分成大小均匀的块? 用于将数组拆分为块.无论如何使用Numpy为巨型阵列更有效地做到这一点?
有没有办法将ndy中的2d数组切成较小的2d数组?
例
[[1,2,3,4], -> [[1,2] [3,4]
[5,6,7,8]] [5,6] [7,8]]
Run Code Online (Sandbox Code Playgroud)
所以我基本上想要将2x4阵列减少为2个2x2阵列.寻找用于图像的通用解决方案.
我正在使用 Numpy 版本 1.11.1,并且必须处理一个二维数组
my_arr.shape = (25000, 25000)
Run Code Online (Sandbox Code Playgroud)
所有值都是整数,我需要一个唯一的数组值列表。使用时lst = np.unique(my_arr)我得到:
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
palette = np.unique(arr)
File "c:\Python27\lib\site-packages\numpy\lib\arraysetops.py", line 176, in unique
ar = np.asanyarray(ar).flatten()
MemoryError
Run Code Online (Sandbox Code Playgroud)
我的机器只有 8 GB RAM,但我在另一台具有 16 GB RAM 的机器上尝试过,结果是一样的。监控内存和 CPU 使用率并不能表明问题与 RAM 或 CPU 相关。
原则上,我知道数组包含的值,但是如果输入更改怎么办...另外,如果我想用另一个替换数组的值(假设全部为 2 乘 0),是否需要大量 RAM还有?