You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用numpy将第一个数组每个元素与第二个数组所有元素配对合并

Numpy 实现两个数组元素全配对的方法

你需要的结果本质是两个数组的笛卡尔积,可以用以下两种numpy方案实现:


方案1:使用numpy.meshgrid(兼容性好,通用度高)

代码示例:

import numpy as np

a = np.array([1, 2])
b = np.array([3, 4])

A, B = np.meshgrid(a, b, indexing='ij')
c = np.stack([A.ravel(), B.ravel()], axis=1)

输出的c即为目标数组:[[1 3],[1 4],[2 3],[2 4]]
参数说明:

  • indexing='ij'指定行优先的索引逻辑,保证按a的元素顺序依次配对b的所有元素
  • ravel()将二维的网格数组摊平为一维
  • stack(axis=1)将两个一维数组按列拼接,得到最终的配对二维数组

方案2:使用repeat+tile组合(写法更简洁)

代码示例:

import numpy as np

a = np.array([1, 2])
b = np.array([3, 4])

c = np.stack([np.repeat(a, len(b)), np.tile(b, len(a))], axis=1)

逻辑说明:

  • np.repeat(a, len(b)):将a的每个元素重复len(b)次,得到[1,1,2,2]
  • np.tile(b, len(a)):将整个b数组重复len(a)次,得到[3,4,3,4]
  • 两者按列拼接后直接得到目标配对数组

内容的提问来源于stack exchange,提问作者RobHam99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 08:24:04