怎样快速找出两个数组中相同的元素?
numpy.isin(element,test_elements,assume_unique = False,invert = False )
计算test_elements中的元素,仅在元素上广播。返回与元素相同形状的布尔数组,该元素为True,其中元素元素位于test_elements中,否则返回 False。
NumPy数组的集合运算
import numpy as np # 创建一维 ndarray x x = np.array([1,2,3,4,5]) # 创建一维 ndarray y y = np.array([6,5,4,8,7]) # 输出 x print('x = ', x) # 输出 y print('y = ', y) # 比较x和y print('使用intersect1d输出x和y的交集:', np.intersect1d(x,y)) print('使用setdiff1d输出在x中不在y中的元素:', np.setdiff1d(x,y)) print('使用union1d输出x和y的并集:',np.union1d(x,y)) print('使用setxor1d输出x和y的异或集:',np.setxor1d(x,y))
输出:
x = [1 2 3 4 5] y = [6 5 4 8 7] 使用intersect1d输出x和y的交集: [4 5] 使用setdiff1d输出在x中不在y中的元素: [1 2 3] 使用union1d输出x和y的并集: [1 2 3 4 5 6 7 8] 使用setxor1d输出x和y的异或集: [1 2 3 6 7 8]