相关疑难解决方法(0)

Numpy:通过多维数组对多维数组进行排序

如果这是多余的或超级基本的,请原谅我.我是从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?

python numpy slice

11
推荐指数
1
解决办法
3827
查看次数

标签 统计

numpy ×1

python ×1

slice ×1