在Python中相对于另一个数组的一个数组的更改顺序
我有两个数组a
和b
,一对一的信件IE值与[0,1]中的值
是10在b
中,中的中的 中的等等。现在,我将a
排序以产生新的数组a1
。如何对A1
生成b1
?所需的输出已连接。
import numpy as np
A = np.array([[[0, 1],[0, 2],[1, 3],[2, 3],[2, 5],[3, 4],[3, 6],[4, 7],[5, 6],[6, 7]]])
B = np.array([[[10],[20],[30],[40],[50],[60],[70],[80],[90],[100]]])
A1=np.sort(A,axis=1)
#A1=array([[[0, 1],[0, 2],[1, 3],[2, 3],[3,4],[2, 5],[3, 6],[5, 6],[4, 7],[6, 7]]])
所需的输出是
B1=array([[[10],[20],[30],[40],[60],[50],[70],[90],[80],[100]]])
I have two arrays A
and B
with one-to-one correspondence i.e. values corresponding to [0,1] in A
is 10 in B
, [0,2] in A
is 20 in B
and so on. Now I sort A
to yield a new array A1
. How do I generate B1
with respect to A1
? The desired output is attached.
import numpy as np
A = np.array([[[0, 1],[0, 2],[1, 3],[2, 3],[2, 5],[3, 4],[3, 6],[4, 7],[5, 6],[6, 7]]])
B = np.array([[[10],[20],[30],[40],[50],[60],[70],[80],[90],[100]]])
A1=np.sort(A,axis=1)
#A1=array([[[0, 1],[0, 2],[1, 3],[2, 3],[3,4],[2, 5],[3, 6],[5, 6],[4, 7],[6, 7]]])
The desired output is
B1=array([[[10],[20],[30],[40],[60],[50],[70],[90],[80],[100]]])
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
argsort()
函数和[:]
运算符来刺激所需的结果:You can use
argsort()
function and[:]
operator to ahieve the desired result:您应该使用
argsort
:导入numpy作为NP
You should use
argsort
:import numpy as np