np.intersect1d()函数
时间: 2023-11-22 20:46:40 浏览: 118
np.intersect1d()函数是numpy中常用的函数之一,它的作用是求两个数组的交集。该函数的原型为numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False),其中ar1和ar2为两个需要求交集的数组,assume_unique表示是否假设输入数组都是唯一的,return_indices表示是否返回输入数组中的索引。该函数返回在ar1且在ar2中的排序的唯一值,一维数组。下面是一些使用np.intersect1d()函数的例子:
np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1]) # array([1, 3])
np.intersect1d([1, 2, 4, 9], [2, 4, 6, 8]) # array([2, 4])
np.intersect1d([0, 1, 2, 3], [5, 6, 7, 8]) # array([], dtype=int32)
相关问题
np.intersect1d
`np.intersect1d`是NumPy库中的函数,用于计算两个数组的交集(即共同元素)。该函数返回一个按升序排列的数组,其中只包含输入数组中共同存在的元素。示例如下:
```python
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
intersect_arr = np.intersect1d(arr1, arr2)
print(intersect_arr) # [3 4 5]
```
在上面的示例中,`arr1`和`arr2`的交集是`[3, 4, 5]`,因此`np.intersect1d`返回一个包含这些共同元素的数组。
np.intersect1d用法示例
`np.intersect1d()` 函数是用于返回两个数组中共同存在的元素,它的使用方法如下:
```python
numpy.intersect1d(ar1, ar2, assume_unique=False, return_indices=False)
```
其中,`ar1` 和 `ar2` 分别是两个需要求交集的数组,`assume_unique` 表示输入的数组是否已经是唯一的,`return_indices` 表示是否返回交集元素在两个数组中的位置。
下面是一些示例:
```python
import numpy as np
# 一维数组求交集
a = np.array([1, 2, 3, 4])
b = np.array([2, 3, 4, 5])
print(np.intersect1d(a, b)) # 输出 [2 3 4]
# 二维数组求交集
c = np.array([[1, 2, 3], [4, 5, 6]])
d = np.array([[2, 3, 4], [1, 2, 3]])
print(np.intersect1d(c, d)) # 输出 [1 2 3 4]
# 指定返回交集元素在两个数组中的位置
a = np.array([1, 2, 3, 4])
b = np.array([2, 3, 4, 5])
print(np.intersect1d(a, b, return_indices=True)) # 输出 (array([2, 3, 4]), array([1, 2, 3]), array([0, 1, 2]))
# 假设数组已经是唯一的,提高求交集的效率
a = np.array([1, 2, 3, 4])
b = np.array([2, 3, 4, 5])
print(np.intersect1d(a, b, assume_unique=True)) # 输出 [2 3 4]
```
在上面的示例中,`np.intersect1d()` 函数返回的是两个数组中共同存在的元素。比如,数组 `[1, 2, 3, 4]` 和数组 `[2, 3, 4, 5]` 的交集是 `[2, 3, 4]`,则 `np.intersect1d([1, 2, 3, 4], [2, 3, 4, 5])` 的输出是 `array([2, 3, 4])`,表示两个数组中共同存在的元素是 2、3 和 4。
阅读全文