📅  最后修改于: 2023-12-03 15:26:36.170000             🧑  作者: Mango
在NumPy中,我们可以使用intersect1d()函数来查找两个数组之间的共同值。
intersect1d()函数返回两个数组中共同元素的有序一维数组。这个函数的语法如下:
numpy.intersect1d(array1, array2, assume_unique=False, return_indices=False)[source]
我们可以给intersect1d()函数传递两个数组作为参数。这两个数组可以拥有不同的形状和大小。如果我们设置assume_unique参数为True,则假定输入的数组没有重复项,从而提高计算速度。如果我们设置return_indices参数为True,则函数会返回共同元素在两个数组中的索引。
下面是一个使用intersect1d()函数查找两个数组之间的共同值的示例代码:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
common = np.intersect1d(arr1, arr2)
print(common)
上面的代码输出的是两个数组之间共同的值:
[3 4 5]
如果我们设置assume_unique参数为True,则可以提高计算速度:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
common = np.intersect1d(arr1, arr2, assume_unique=True)
print(common)
上面的代码输出的是两个数组之间共同的值:
[3 4 5]
如果我们设置return_indices参数为True,则函数会返回共同元素在两个数组中的索引:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
common, index1, index2 = np.intersect1d(arr1, arr2, assume_unique=True, return_indices=True)
print(common)
print(index1)
print(index2)
上面的代码输出的是两个数组之间共同的值以及它们在两个数组中的索引:
[3 4 5]
[2 3 4]
[0 1 2]
以上就是查找两个NumPy数组之间的共同值的介绍和示例代码。使用intersect1d()函数能够非常方便地查找两个数组之间共同的值以及它们在两个数组中的索引。