如何计算两个 numpy 数组之间的笛卡尔积?

问题描述

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

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

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

解决方法

您可以使用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),4),(1,4)]
,
alpha=[0,1]
beta=[2,4]

d = [(a,b) for a in alpha for b in beta] # The cartesian product

print(d)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...