numpy.intersect1d
-
numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)
[source] -
Find the intersection of two arrays.
Return the sorted, unique values that are in both of the input arrays.
Parameters: -
ar1, ar2 : array_like
-
Input arrays. Will be flattened if not already 1D.
-
assume_unique : bool
-
If True, the input arrays are both assumed to be unique, which can speed up the calculation. Default is False.
-
return_indices : bool
-
If True, the indices which correspond to the intersection of the two arrays are returned. The first instance of a value is used if there are multiple. Default is False.
New in version 1.15.0.
Returns: -
intersect1d : ndarray
-
Sorted 1D array of common and unique elements.
-
comm1 : ndarray
-
The indices of the first occurrences of the common values in
ar1
. Only provided ifreturn_indices
is True. -
comm2 : ndarray
-
The indices of the first occurrences of the common values in
ar2
. Only provided ifreturn_indices
is True.
See also
-
numpy.lib.arraysetops
- Module with a number of other functions for performing set operations on arrays.
Examples
>>> np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1]) array([1, 3])
To intersect more than two arrays, use functools.reduce:
>>> from functools import reduce >>> reduce(np.intersect1d, ([1, 3, 4, 3], [3, 1, 2, 1], [6, 3, 4, 2])) array([3])
To return the indices of the values common to the input arrays along with the intersected values: >>> 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]))
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.intersect1d.html