python - 如何计算两个 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), (0, 4), (1, 2), (1, 3), (1, 4)]
推荐阅读
- r - Amazon S3 和 QGIS 之间的集成
- elasticsearch - 在 Elasticsearch 中实现基于限制的查询
- mips - 从字符串和打印 MIPS 中删除空格
- javascript - 将表单数据解析为 javascript 中的对象(无法读取未定义的属性“名称”)
- windows - 如何仅通过 LAN 在 Windows 上运行 docker-onlyoffice-nextcloud
- javascript - 如何在反应中使用 settimeout 方法?
- javascript - 使用 Jest 测试 Saga 生成器函数
- mariadb - 无法使用自制软件登录 mariadb
- powerbi - 为什么显示的轴与我的原始数据不同?
- c# - 尝试动态生成深度复杂的 sql 查询