python – 两个numpy数组中所有行的组合
发布时间:2020-12-16 22:33:23 所属栏目:Python 来源:网络整理
导读:我有两个数组,例如形状(3,2)和另一个形状(10,7).我想要两个数组的所有组合,这样我最终得到一个9列数组.换句话说,我希望第一个数组的每一行的所有组合与第二个数组的行. 我怎样才能做到这一点?据我所知,我没有正确使用meshgrid. 根据以前的帖子,我的印象是 a
我有两个数组,例如形状(3,2)和另一个形状(10,7).我想要两个数组的所有组合,这样我最终得到一个9列数组.换句话说,我希望第一个数组的每一行的所有组合与第二个数组的行. 我怎样才能做到这一点?据我所知,我没有正确使用meshgrid. 根据以前的帖子,我的印象是
会工作,但这给我的尺寸(84,10). 最佳答案
方法#1
关注性能这里的一种方法是使用数组初始化和元素广播进行分配 –
说明: 诀窍在于两个步骤:
步骤1 :
因此,基本上我们分配a1的元素,保持第一轴与输出中相应的一个轴对齐,同时让输出数组的第二轴上的元素以广播的方式填充,对应于为a1添加的newaxis那个轴.这是关键所在并带来性能,因为我们没有分配额外的内存空间,否则我们需要使用显式的重复/平铺方法. 第2步 :
这里,我们基本上沿着输出数组的第一轴广播块a2而不明确地重复复制. 样本输入,输出完整性 –
方法#2 另一个有平铺/重复 –
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |