python使用较小的2D数组与另一个较大的数组进行映射

python使用较小的2D数组与另一个较大的数组进行映射,python,numpy,Python,Numpy,我有一个较小的数组,如下所示: A = np.array([2013, 2014, 2015]) Aval = np.array([14, 10, 35]) 我有另一个数组: A2 = np.array([2013, 2014, 2015, 2013, 2014, 2015, 2013, 2013, 2013]) 我希望创建一个VAL,以便: Arval = np.array([14, 10, 35, 14, 10, 35, 14, 14, 14]) 因此,我尝试使用数组A中的值映射到A2

我有一个较小的数组,如下所示:

A = np.array([2013, 2014, 2015])
Aval = np.array([14, 10, 35])
我有另一个数组:

A2 = np.array([2013, 2014, 2015, 2013, 2014, 2015, 2013, 2013, 2013])
我希望创建一个VAL,以便:

Arval = np.array([14, 10, 35, 14, 10, 35, 14, 14, 14])
因此,我尝试使用数组A中的值映射到A2的元素,并生成A2val的扩展版本,您可以使用它创建映射索引,然后索引到
Aval
,以便从中选择元素,如下所示-

Aval[np.searchsorted(A,A2)]
Aval[np.searchsorted(A,A2,sorter=A.argsort())]
如果
A
尚未排序,则需要使用可选参数
sorter
,如下所示-

Aval[np.searchsorted(A,A2)]
Aval[np.searchsorted(A,A2,sorter=A.argsort())]