如果这是多余的或超级基本的,请原谅我.我是从R来到Python/Numpy并且很难在脑子里翻看东西.
我有一个维度数组,我想使用另一个索引值的n维数组进行排序.我知道我可以将它包装在一个循环中,但似乎应该有一个非常简洁的Numpyonic方式来击败这个提交.这是我设置n = 2的问题的示例代码:
a1 = random.standard_normal(size=[2,5])
index = array([[0,1,2,4,3] , [0,1,2,3,4] ])
Run Code Online (Sandbox Code Playgroud)
所以现在我有一个2 x 5的随机数组和一个2 x 5的索引.我现在已经阅读了take()大约10次的帮助,但很明显,我的大脑并没有去研究它.
我以为这可能会让我在那里:
take(a1, index)
array([[ 0.29589188, -0.71279375, -0.18154864, -1.12184984, 0.25698875],
[ 0.29589188, -0.71279375, -0.18154864, 0.25698875, -1.12184984]])
Run Code Online (Sandbox Code Playgroud)
但这显然只重新排序了第一个元素(我认为是因为扁平化).
有关我如何从我所处的位置获得的解决方案,该解决方案将索引的元素0对a1的元素0进行排序...元素n?