查找两个NumPy数组的并集

查找两个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))

输出:
查找两个NumPy数组的并集

示例 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))

输出:
查找两个NumPy数组的并集

示例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)

输出:
查找两个NumPy数组的并集

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Numpy 数组操作