要寻找两个NumPy数组之间的共同值,需要使用NumPy中的intersect1d()函数。以下是该函数的使用方法:
import numpy as np
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = np.array([3, 4, 5, 6, 7])
common_arr = np.intersect1d(arr1, arr2)
print(common_arr)
在上面的代码中,我们首先导入了NumPy库,然后分别创建了两个数组arr1和arr2。接着,我们使用intersect1d()函数将两个数组中的共同值保存到一个新的数组中,并将其打印出来。输出结果为:
[3 4 5]
上述示例中,两个数组中的共同值为3、4和5。下面再给出一个更复杂的示例。
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[3, 4], [5, 6]])
common_arr = np.intersect1d(arr1, arr2)
print(common_arr)
在上面的代码中,我们创建了两个二维数组arr1和arr2,每个数组中包含两个一维子数组。接着,我们使用intersect1d()函数将两个数组中的共同值保存到一个新的数组中,并将其打印出来。然而,由于我们处理的是二维数组,intersect1d()函数在默认情况下会将数组展开为一维数组,因此我们得到的输出结果为:
[3 4]
这里的共同值为3和4,它们是两个数组中共同的元素。注意,如果我们想要获取原始的二维数组中的共同值,我们需要将intersect1d()函数的参数设置为flatten=False:
common_arr = np.intersect1d(arr1, arr2, assume_unique=True, axis=None)
通过设置axis,我们可以在跨维度比较时指定沿哪个轴执行比较。如果您而是在一维数组之间执行比较,请将此参数保留为默认值None。
总结起来,通过使用NumPy库的intersect1d()函数,我们可以非常方便地找到两个NumPy数组之间的共同值。在使用过程中,需要注意数组的维度和设置参数的方式。