dask.array.reshape
dask.array.reshape¶
- dask.array.reshape(x, shape, merge_chunks=True, limit=None)[源代码]¶
将数组重塑为新形状
- 参数
- 形状int 或 int 的元组
新形状应与原始形状兼容。如果是一个整数,那么结果将是一个该长度的1-D数组。一个形状维度可以是-1。在这种情况下,该值是从数组的长度和剩余维度推断出来的。
- merge_chunksbool, 默认 True
是否在输入数组的块划分和输出形状需要通信时,使用
dask.array.rechunk()
中的逻辑合并块。当merge_chunks==False
时,输入数组将被重新划分成块大小为1,这可能会创建非常多的任务。- limit: int (可选)
目标的最大块大小(以字节为单位)。如果没有提供限制,它默认使用 Dask 配置中的
array.chunk-size
值。
注释
这是
np.reshape
函数的并行版本,具有以下限制:它假设数组是以 行优先顺序 存储的。
它只允许进行像
(1, 2, 3, 4) -> (1, 6, 4)
或(64,) -> (4, 4, 4)
这样的维度折叠或合并的重塑操作。
当需要通信时,此算法依赖于 rechunk 中的逻辑。它尽可能地保持块大小大致相同。
关于
merge_chunks
的权衡讨论,请参见 重塑。