📜  找到两个 NumPy 数组的并集

📅  最后修改于: 2022-05-13 01:54:34.148000             🧑  作者: Mango

找到两个 NumPy 数组的并集

要找到两个一维数组的联合,我们可以使用Python Numpy 库的函数numpy.union1d() 。它返回唯一的、排序的数组,其值位于两个输入数组中的任何一个中。

句法:

numpy.union1d(array1, array2)

注意如果输入中给出的数组不是一维的,则它们将被展平。

让我们看一下如何找到两个数组的并集的示例。

示例 1:

# import libraries
import numpy as np
  
  
arr1 = np.array([10, 20, 30, 40])
print("array1 ", arr1)
  
arr2 = np.array([20, 40, 60, 80])
print("array2 ", arr2)
  
# print union of the two arrays
print("Union of two arrays :", np.union1d(arr1, arr2))

输出:

示例 2:
让我们看一下寻找二维和一维数组并集的示例。如前所述,如果作为参数传递给函数numpy.union1d 的数组是二维的,那么它们将被展平为一维。

# import libraries
import numpy as np
  
  
# 2-d array
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
print("array1 ")
print(arr1)
  
arr2 = np.array([0, 5, 10])
print("array2 ", arr2)
  
# print union of 2-d array and 1-d array
print("Union of two arrays", np.union1d(arr1, arr2))

输出:

示例 3:
如果我们想找到两个以上数组的并集,那么我们可以使用functools.reduce函数找到它。

# code to find union of more than two arrays
# import libraries
import numpy as np
from functools import reduce
  
  
array = reduce(np.union1d, ([1, 2, 3], [1, 3, 5],
                            [2, 4, 6], [0, 0, 0]))
print("Union ", array)

输出: