使用NumPy将一个数组索引为另一个数组

时间:2015-03-22 21:36:12

标签: python arrays numpy

给出一些数据

In [1]: import numpy as np
In [2]: x = np.array(['a', 'b', 'b', 'a'])

排序索引

In [3]: i = np.array(['a', 'b'])

我想找到索引中每个数据条目的位置

In [4]: # solution here
array([0, 1, 1, 0])

这有点像分类。我不想在这里使用熊猫。我想在固定长度的字符串上这样做。我需要这个有点效率。

1 个答案:

答案 0 :(得分:5)

您可以使用np.searchsorted

>>> np.searchsorted(i, x)
array([0, 1, 1, 0])

该函数找出xi的每个元素应放在{{1}}中的索引,以维护排序顺序。