首页 > 解决方案 > 如何计算两个 numpy 数组之间的笛卡尔积?

问题描述

我有两个 numpy 数组:alpha=[0,1]beta=[2,3,4]. 我想组合它们以创建一个新的元组数组,这是前两个数组的所有可能组合的结果。

x= [(0,2)(0,3)(0,4)(1,2)(1,3)(1,4)]

numpy 包中是否有一个功能,或者我需要自己做?如果我必须这样做,这是最佳方式吗?

标签: pythonarraysnumpycartesian-product

解决方案


您可以使用itertools.product

import numpy as np
import itertools


alpha = np.array([0, 1])
beta = np.array([2, 3, 4])

x = list(itertools.product(alpha, beta))

print(x)
# [(0, 2), (0, 3), (0, 4), (1, 2), (1, 3), (1, 4)]

推荐阅读