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. 它只允许进行像 (1, 2, 3, 4) -> (1, 6, 4)(64,) -> (4, 4, 4) 这样的维度折叠或合并的重塑操作。

当需要通信时,此算法依赖于 rechunk 中的逻辑。它尽可能地保持块大小大致相同。

关于 merge_chunks 的权衡讨论,请参见 重塑