我有两个表示为Numpy数组的排列:
A:
0 1 2 3
A = [1, 3, 2, 0]
和B:
0 1 2 3
B = [0, 2, 1, 3]
我怎样才能得到C = A * B,其中
0->1 * 1->2 = 2
1->3 * 3->3 = 3
2->2 * 2->1 = 1
3->0 * 0->0 = 0
C = (2, 3, 1, 0)
有效使用Numpy?
答案 0 :(得分:4)
很简单,b[a]
可以解决问题:
>>> import numpy as np
>>> a = np.array([1, 3, 2, 0])
>>> b = np.array([0, 2, 1, 3])
>>> c = b[a]
>>> print c
[2 3 1 0]