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


Python numpy intersect1d用法及代碼示例


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

用法:

numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)

找到兩個數組的交集。

返回兩個輸入數組中的排序後的唯一值。

參數

ar1, ar2 array_like

輸入數組。如果還不是 1D,將被展平。

assume_unique bool

如果為 True,則假定輸入數組都是唯一的,這樣可以加快計算速度。如果 True 但 ar1ar2 不是唯一的,則可能導致不正確的結果和超出範圍的索引。默認為假。

return_indices bool

如果為 True,則返回對應於兩個數組交集的索引。如果有多個,則使用值的第一個實例。默認為假。

返回

intersect1d ndarray

已排序的 1D 常見元素和唯一元素數組。

comm1 ndarray

ar1 中第一次出現的公共值的索引。僅在 return_indices 為 True 時提供。

comm2 ndarray

ar2 中第一次出現的公共值的索引。僅在 return_indices 為 True 時提供。

例子

>>> np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1])
array([1, 3])

要與兩個以上的數組相交,請使用 functools.reduce:

>>> from functools import reduce
>>> reduce(np.intersect1d, ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2]))
array([3])

要返回輸入數組共有的值的索引以及相交的值:

>>> x = np.array([1, 1, 2, 3, 4])
>>> y = np.array([2, 1, 4, 6])
>>> xy, x_ind, y_ind = np.intersect1d(x, y, return_indices=True)
>>> x_ind, y_ind
(array([0, 2, 4]), array([1, 0, 2]))
>>> xy, x[x_ind], y[y_ind]
(array([1, 2, 4]), array([1, 2, 4]), array([1, 2, 4]))

相關用法


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