如何建立一个包含两个NumPy数组的所有组合的数组

如何建立一个包含两个NumPy数组的所有组合的数组

有时我们需要找到两个或多个数组元素的组合。Numpy有一个函数来计算两个或多个Numpy数组的组合,名为 “numpy.meshgrid()”。 这个函数被用来从两个给定的一维数组中创建一个矩形网格,代表笛卡尔索引或矩阵索引。

语法:

numpy.meshgrid(*xi, copy=True, sparse=False, indexing='xy')

例子1:计算两个NumPy数组的元素组合

# importing Numpy package
import numpy as np
  
# creating 2 numpy arrays
array_1 = np.array([1, 2])
array_2 = np.array([4, 6])
  
print("Array-1")
print(array_1)
  
print("\nArray-2")
print(array_2)
  
# combination of elements of array_1 and array_2
# using numpy.meshgrid().T.reshape()
comb_array = np.array(np.meshgrid(array_1, array_2)).T.reshape(-1, 2)
  
print("\nCombine array:")
print(comb_array)

输出:

如何建立一个包含两个NumPy数组的所有组合的数组?

在上面的例子中,我们使用numpy.meshgrid().T.reshape()将’array_1’和’array_2’的元素结合起来。

例子2:计算三个NumPy数组的元素组合

# importing Numpy package
import numpy as np
  
# creating 3 numpy arrays
array_1 = np.array([1, 2, 3])
array_2 = np.array([4, 6, 4])
array_3 = np.array([3, 6])
  
print("Array-1")
print(array_1)
  
print("Array-2")
print(array_2)
  
print("Array-3")
print(array_3)
  
  
# combination of elements of array_1,
# array_2 and array_3 using 
# numpy.meshgrid().T.reshape()
comb_array = np.array(
  np.meshgrid(array_1, array_2, array_3)).T.reshape(-1, 3)
  
print("\nCombine array:")
print(comb_array)

输出:

如何建立一个包含两个NumPy数组的所有组合的数组?

在上面的例子中,我们使用numpy.meshgrid().T.reshape()将’array_1’、’array_2’和’array_3’的元素结合起来。

例子3:计算NumPy数组的元素组合

# importing Numpy package
import numpy as np
  
# creating 4 numpy arrays
array_1 = np.array([50, 21])
array_2 = np.array([4, 4])
array_3 = np.array([1, 10])
array_4 = np.array([7, 14])
  
  
print("Array-1")
print(array_1)
  
print("Array-2")
print(array_2)
  
print("Array-3")
print(array_3)
  
print("Array-4")
print(array_4)
  
  
# combination of elements of array_1, 
# array_2, array_3 and array_4
# using numpy.meshgrid().T.reshape()
comb_array = np.array(np.meshgrid(
    array_1, array_2, array_3, array_4)).T.reshape(-1, 4)
  
print("\nCombine array:")
print(comb_array)

输出:

如何建立一个包含两个NumPy数组的所有组合的数组?

在上面的例子中,我们使用numpy.Meshgrid().T.reshape()将’array_1’、’array_2’、’array_3’和’array_4’的元素组合起来。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程