本文簡要介紹 python 語言中 numpy.isin
的用法。
用法:
numpy.isin(element, test_elements, assume_unique=False, invert=False)
計算test_elements 中的元素,僅在元素上廣播。返回與 element 形狀相同的布爾數組,如果 element 的元素在 test_elements 中,則返回 True,否則返回 False。
- element: array_like
輸入數組。
- test_elements: array_like
用於測試每個元素值的值。如果它是一個數組或類似數組的參數,則該參數被展平。有關非數組類參數的行為,請參閱注釋。
- assume_unique: 布爾型,可選
如果為 True,則假定輸入數組都是唯一的,這樣可以加快計算速度。默認為假。
- invert: 布爾型,可選
如果為 True,則返回數組中的值被反轉,就像在計算元素不在test_elements.默認為假。
np.isin(a, b, invert=True)
相當於(但比)快np.invert(np.isin(a, b))
.
- isin: ndarray,布爾
具有與元素相同的形狀。值 element[isin] 在test_elements 中。
參數:
返回:
注意:
isin
是 python 關鍵字的逐元素函數版本在.isin(a, b)
大致相當於np.array([item in b for item in a])
如果a和b是一維序列。元素和test_elements如果尚未轉換為數組。如果test_elements是一個集合(或其他非序列集合),它將被轉換為具有一個元素的對象數組,而不是包含在test_elements.這是由於numpy.array構造函數處理非序列集合的方式。將集合轉換為列表通常會產生所需的行為。
例子:
>>> element = 2*np.arange(4).reshape((2, 2)) >>> element array([[0, 2], [4, 6]]) >>> test_elements = [1, 2, 4, 8] >>> mask = np.isin(element, test_elements) >>> mask array([[False, True], [ True, False]]) >>> element[mask] array([2, 4])
可以使用
nonzero
獲得匹配值的索引:>>> np.nonzero(mask) (array([0, 1]), array([1, 0]))
該測試也可以倒置:
>>> mask = np.isin(element, test_elements, invert=True) >>> mask array([[ True, False], [False, True]]) >>> element[mask] array([0, 6])
由於
array
處理集合的方式,以下內容無法按預期工作:>>> test_set = {1, 2, 4, 8} >>> np.isin(element, test_set) array([[False, False], [False, False]])
將集合轉換為列表會產生預期的結果:
>>> np.isin(element, list(test_set)) array([[False, True], [ True, False]])
相關用法
- Python numpy isinf用法及代碼示例
- Python numpy isclose用法及代碼示例
- Python numpy issctype用法及代碼示例
- Python numpy isnat用法及代碼示例
- Python numpy is_busday用法及代碼示例
- Python numpy isposinf用法及代碼示例
- Python numpy issubdtype用法及代碼示例
- Python numpy issubclass_用法及代碼示例
- Python numpy issubsctype用法及代碼示例
- Python numpy iscomplexobj用法及代碼示例
- Python numpy isfinite用法及代碼示例
- Python numpy iscomplex用法及代碼示例
- Python numpy isrealobj用法及代碼示例
- Python numpy isscalar用法及代碼示例
- Python numpy isneginf用法及代碼示例
- Python numpy isreal用法及代碼示例
- Python numpy isnan用法及代碼示例
- Python numpy isfortran用法及代碼示例
- Python numpy interp用法及代碼示例
- Python numpy iinfo用法及代碼示例
- Python numpy in1d用法及代碼示例
- Python numpy indices用法及代碼示例
- Python numpy ix_用法及代碼示例
- Python numpy imag用法及代碼示例
- Python numpy insert用法及代碼示例
注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.isin。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。