【发布时间】:2012-03-14 18:35:05
【问题描述】:
我试图将一个数组按另一个数组的顺序排列。例如,如果我有:
arr1 = np.array(['a', 'b', 'c'])
index = np.array([2, 1, 0])
我想要的结果 arr2 是 ['c', 'b', 'a'],这样:
arr2[index[i]] == arr1[i]
【问题讨论】:
标签: 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]
【问题讨论】:
标签: python arrays sorting numpy
您可以简单地将选择器数组作为索引传递给字符数组:
>>> import numpy as np
>>> arr1 = np.array(['a', 'b', 'c'])
>>> index = np.array([2, 1, 0])
>>> arr1[index]
array(['c', 'b', 'a'],
dtype='|S1')
【讨论】:
试试这个:
[arr1[i] for i in index]
【讨论】: