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


Python numpy in1d用法及代碼示例


本文簡要介紹 python 語言中 numpy.in1d 的用法。

用法:

numpy.in1d(ar1, ar2, assume_unique=False, invert=False)

測試一維數組的每個元素是否也存在於第二個數組中。

返回一個長度相同的布爾數組ar1這是 True 其中一個元素ar1ar2否則為 False。

對於新代碼,我們建議使用 isin 而不是 in1d

參數

ar1 (M,) 數組

輸入數組。

ar2 array_like

用於測試 ar1 的每個值的值。

assume_unique 布爾型,可選

如果為 True,則假定輸入數組都是唯一的,這樣可以加快計算速度。默認為假。

invert 布爾型,可選

如果為 True,則返回數組中的值被反轉(即,False,其中一個元素ar1ar2否則為真)。默認為假。np.in1d(a, b, invert=True)相當於(但比)快np.invert(in1d(a, b)).

返回

in1d (M,) ndarray, 布爾

ar1[in1d] 的值在 ar2 中。

注意

in1d可以被認為是 python 關鍵字的逐元素函數版本, 對於一維序列。in1d(a, b)大致相當於np.array([item in b for item in a]).但是,如果這個想法失敗了ar2是一個集合或類似(非序列)容器:Asar2在這些情況下被轉換為數組asarray(ar2)是一個對象數組,而不是包含值的預期數組。

例子

>>> test = np.array([0, 1, 2, 5, 0])
>>> states = [0, 2]
>>> mask = np.in1d(test, states)
>>> mask
array([ True, False,  True, False,  True])
>>> test[mask]
array([0, 2, 0])
>>> mask = np.in1d(test, states, invert=True)
>>> mask
array([False,  True, False,  True, False])
>>> test[mask]
array([1, 5])

相關用法


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