指定Order numpy数组

时间:2012-03-14 18:35:05

标签: python arrays sorting numpy

我正在尝试按照另一个数组的顺序放置一个数组。例如,如果我有:

arr1 = np.array(['a', 'b', 'c'])
index = np.array([2, 1, 0])

我想要的结果,arr2,是['c','b','a'],这样:

arr2[index[i]] == arr1[i]

2 个答案:

答案 0 :(得分:6)

您可以简单地将选择器数组作为索引传递给字符数组:

>>> import numpy as np
>>> arr1 = np.array(['a', 'b', 'c'])
>>> index = np.array([2, 1, 0])
>>> arr1[index]
array(['c', 'b', 'a'], 
      dtype='|S1')

答案 1 :(得分:1)

试试这个:

[arr1[i] for i in index]