根据另一个数组对齐numpy数组

2024-04-19 10:43:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含任意整数的numpy数组a,还有另一个数组b,(它总是a的子集,但是{}中的数字顺序与a不同。我想按照b中出现的顺序对齐b的元素。在

a = np.array([4,2,6,5,8,7,10,12]);
b = np.array([10,6,2,12]),

我希望b对齐为[2,6,10,12]。我怎样才能有效地在numpy中做到这一点?在


Tags: numpy元素顺序np数字整数数组array
1条回答
网友
1楼 · 发布于 2024-04-19 10:43:20

方法1:一个带有^{}的方法,假设a-

^{1}$

更好的示例事例,其中a中的元素受到干扰,使其不排序,以便公共元素呈现各种情况-

^{pr2}$

进近#2:一种带有^{}-

sidx = a.argsort()
out = a[np.sort(sidx[np.searchsorted(a,b,sorter=sidx)])]

相关问题 更多 >