用法:
dask.array.piecewise(x, condlist, funclist, *args, **kw)
評估 piecewise-defined 函數。
此文檔字符串是從 numpy.piecewise 複製的。
可能存在與 Dask 版本的一些不一致之處。
給定一組條件和相應的函數,在輸入數據的條件為真時評估每個函數。
- x:ndarray 或標量
輸入域。
- condlist:布爾數組或布爾標量列表
每個布爾數組對應於
funclist
中的一個函數。隻要condlist[i]
為True,就使用funclist[i](x)
作為輸出值。condlist
中的每個布爾數組選擇一塊x
,因此應該與x
具有相同的形狀。condlist
的長度必須與funclist
的長度相對應。如果給出了一個額外的函數,即如果len(funclist) == len(condlist) + 1
,則該額外函數是默認值,在所有條件為假的情況下使用。- funclist:可調用對象、f(x,*args,**kw) 或標量列表
隻要對應條件為真,每個函數都會在
x
上進行評估。它應該將一維數組作為輸入,並給出一維數組或標量值作為輸出。如果提供了標量而不是可調用對象,則假定為常量函數 (lambda x: scalar
)。- args:元組,可選
給
piecewise
的任何其他參數都會在執行時傳遞給函數,即,如果調用piecewise(..., ..., 1, 'a')
,則每個函數都稱為f(x, 1, 'a')
。- kw:字典,可選
調用
piecewise
時使用的關鍵字參數在執行時傳遞給函數,即,如果調用piecewise(..., ..., alpha=1)
,則每個函數都稱為f(x, alpha=1)
。
- out:ndarray
輸出的形狀和類型與 x 相同,可通過在
x
的適當部分調用funclist
中的函數找到,如condlist
中的布爾數組所定義。任何條件未涵蓋的部分的默認值為 0。
參數:
返回:
注意:
這類似於選擇或選擇,除了函數是在滿足來自
condlist
的相應條件的x
的元素上評估的。結果是:
|-- |funclist[0](x[condlist[0]]) out = |funclist[1](x[condlist[1]]) |... |funclist[n2](x[condlist[n2]]) |--
例子:
定義 sigma 函數,對於
x < 0
為 -1,對於x >= 0
為 +1。>>> x = np.linspace(-2.5, 2.5, 6) >>> np.piecewise(x, [x < 0, x >= 0], [-1, 1]) array([-1., -1., -1., 1., 1., 1.])
定義絕對值,對於
x <0
是-x
,對於x >= 0
是x
。>>> np.piecewise(x, [x < 0, x >= 0], [lambda x: -x, lambda x: x]) array([2.5, 1.5, 0.5, 0.5, 1.5, 2.5])
將相同的函數應用於標量值。
>>> y = -2 >>> np.piecewise(y, [y < 0, y >= 0], [lambda x: -x, lambda x: x]) array(2)
相關用法
- Python dask.array.ptp用法及代碼示例
- Python dask.array.power用法及代碼示例
- Python dask.array.pad用法及代碼示例
- Python dask.array.prod用法及代碼示例
- Python dask.array.stats.ttest_ind用法及代碼示例
- Python dask.array.ma.masked_values用法及代碼示例
- Python dask.array.divmod用法及代碼示例
- Python dask.array.negative用法及代碼示例
- Python dask.array.overlap.map_overlap用法及代碼示例
- Python dask.array.stats.ttest_rel用法及代碼示例
- Python dask.array.ma.average用法及代碼示例
- Python dask.array.vstack用法及代碼示例
- Python dask.array.isneginf用法及代碼示例
- Python dask.array.ma.masked_array用法及代碼示例
- Python dask.array.matmul用法及代碼示例
- Python dask.array.random.weibull用法及代碼示例
- Python dask.array.Array.compute_chunk_sizes用法及代碼示例
- Python dask.array.random.geometric用法及代碼示例
- Python dask.array.around用法及代碼示例
- Python dask.array.gradient用法及代碼示例
注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.piecewise。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。