用法:
dask.array.rechunk(x, chunks='auto', threshold=None, block_size_limit=None, balance=False)
將 dask 數組 x 中的塊轉換為新塊。
- x: dask array:
要重新分塊的數組。
- chunks: int, tuple, dict or str, optional:
要創建的新塊尺寸。 -1 表示對應維度的全尺寸。默認值為“auto”,它自動確定塊大小。
- threshold: int, optional:
我們不費心引入中間步驟的圖增長因子。
- block_size_limit: int, optional:
我們要生成的最大塊大小(以字節為單位)默認為配置值
array.chunk-size
- balance:布爾值,默認為 False
如果為 True,請嘗試使每個塊的大小相同。
這意味著
balance=True
將刪除任何小的剩餘塊,因此使用x.rechunk(chunks=len(x) // N, balance=True)
幾乎肯定會導致N
塊。
參數:
例子:
>>> import dask.array as da >>> x = da.ones((1000, 1000), chunks=(100, 100))
使用元組指定統一的塊大小
>>> y = x.rechunk((1000, 10))
或者隻用字典分塊特定的維度
>>> y = x.rechunk({0: 1000})
使用值
-1
指定您想要沿維度的單個塊或值"auto"
指定 dask 可以自由地重新分塊維度以獲得統一塊大小的塊>>> y = x.rechunk({0: -1, 1: 'auto'}, block_size_limit=1e8)
如果一個塊大小不劃分維度,那麽重新分塊會將任何不均勻性留給最後一個塊。
>>> x.rechunk(chunks=(400, -1)).chunks ((400, 400, 200), (1000,))
但是,如果您想要更平衡的塊,並且不介意 Dask 為您選擇不同的塊大小,那麽您可以使用
balance=True
選項。>>> x.rechunk(chunks=(400, -1), balance=True).chunks ((500, 500), (1000,))
相關用法
- Python dask.array.reciprocal用法及代碼示例
- Python dask.array.remainder用法及代碼示例
- Python dask.array.register_chunk_type用法及代碼示例
- Python dask.array.repeat用法及代碼示例
- Python dask.array.real用法及代碼示例
- Python dask.array.result_type用法及代碼示例
- Python dask.array.random.weibull用法及代碼示例
- Python dask.array.random.geometric用法及代碼示例
- Python dask.array.rint用法及代碼示例
- Python dask.array.random.standard_cauchy用法及代碼示例
- Python dask.array.random.gumbel用法及代碼示例
- Python dask.array.random.standard_t用法及代碼示例
- Python dask.array.random.logistic用法及代碼示例
- Python dask.array.random.noncentral_chisquare用法及代碼示例
- Python dask.array.random.poisson用法及代碼示例
- Python dask.array.random.random_sample用法及代碼示例
- Python dask.array.random.gamma用法及代碼示例
- Python dask.array.rot90用法及代碼示例
- Python dask.array.random.normal用法及代碼示例
- Python dask.array.random.logseries用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.rechunk。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。