當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.array.invert用法及代碼示例


用法:

dask.array.invert(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'invert'>

此文檔字符串是從 numpy.invert 複製的。

可能存在與 Dask 版本的一些不一致之處。

計算逐位求逆,或逐位非,逐元素。

計算輸入數組中整數的底層二進製表示的按位 NOT。這個 ufunc 實現了 C/Python 運算符 ~

對於有符號整數輸入,返回二進製補碼。在二進製補碼係統中,負數由絕對值的二進製補碼表示。這是在計算機 [1] 上表示有符號整數的最常用方法。 N-bit 二進製補碼係統可以表示 範圍內的每個整數。

參數

xarray_like

僅處理整數和布爾類型。

outndarray,None,或 ndarray 和 None 的元組,可選

存儲結果的位置。如果提供,它必須具有輸入廣播到的形狀。如果未提供或 None,則返回一個新分配的數組。元組(隻能作為關鍵字參數)的長度必須等於輸出的數量。

where數組,可選

此條件通過輸入廣播。在條件為 True 的位置,out 數組將設置為 ufunc 結果。在其他地方,out 數組將保留其原始值。請注意,如果通過默認 out=None 創建未初始化的 out 數組,則其中條件為 False 的位置將保持未初始化狀態。

**kwargs

對於其他僅關鍵字參數,請參閱 ufunc 文檔。

返回

outndarray 或標量

結果。如果 x 是標量,則這是一個標量。

注意

bitwise_notinvert 的別名:

>>> np.bitwise_not is np.invert  
True

參考

1

維基百科,“補碼”,https://en.wikipedia.org/wiki/Two’s_complement

例子

我們已經看到 13 由 00001101 表示。那麽 13 的反轉或按位 NOT 是:

>>> x = np.invert(np.array(13, dtype=np.uint8))  
>>> x  
242
>>> np.binary_repr(x, width=8)  
'11110010'

結果取決於bit-width:

>>> x = np.invert(np.array(13, dtype=np.uint16))  
>>> x  
65522
>>> np.binary_repr(x, width=16)  
'1111111111110010'

當使用有符號整數類型時,結果是無符號類型結果的二進製補碼:

>>> np.invert(np.array([13], dtype=np.int8))  
array([-14], dtype=int8)
>>> np.binary_repr(-14, width=8)  
'11110010'

也接受布爾值:

>>> np.invert(np.array([True, False]))  
array([False,  True])

~ 運算符可用作 ndarray 上 np.invert 的簡寫。

>>> x1 = np.array([True, False])  
>>> ~x1  
array([False,  True])

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.invert。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。