如何建立一个包含两个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.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.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.Meshgrid().T.reshape()将’array_1’、’array_2’、’array_3’和’array_4’的元素组合起来。