如何构建两个 NumPy 数组的所有组合的数组?

原文:https://www . geeksforgeeks . org/如何构建两个 numpy 数组的所有组合的数组/

有时我们需要找到两个或多个数组元素的组合。Numpy 具有计算 2 个或更多 Numpy 阵列的组合的功能,命名为“【Numpy . mesh grid()”。该函数用于从两个给定的一维数组中创建一个矩形网格,表示笛卡尔索引或矩阵索引。

语法:

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

示例 1: 计算两个 NumPy 阵列的元素的组合

Python 3

# 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 . mesh grid(). t . resform()组合了“ array_1 ”和“ array_2 的元素

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

Python 3

# 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.meshgrid()组合了“ array_1 ”、“ array_2 和“ array_3 的元素

示例 3: 计算四个 NumPy 数组的元素组合

Python 3

# 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.meshgrid()组合了“ array_1 ”、“ array_2 ”、“ array_3 ”和“ array_4 的元素