np.intersect1d用法示例
时间: 2023-10-10 11:10:18 浏览: 75
numpy 计算两个数组重复程度的方法
`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。
阅读全文