2024-05-08 03:12:17 发布
网友
我有两个纽比阵列A和B
A = np.array ([[ 1 3] [ 2 3] [ 2 1] ]) B = np.array([(1, 'Alpha'), (2, 'Beta'), (3, 'Gamma')]
如何将A与B映射以获得类似于:
我试过map(B['f1'],A),但是我得到了TypeError: 'numpy.ndarray' object is not callable
map(B['f1'],A)
TypeError: 'numpy.ndarray' object is not callable
您可以使用字典和列表理解:
>>> d=dict(B) >>> np.array([[(d[str(i)]),d[str(j)]] for i,j in A]) array([['Alpha', 'Gamma'], ['Beta', 'Gamma'], ['Beta', 'Alpha']], dtype='|S5')
不使用任何具体的numpy事情你可以做:
d = dict(B) [[d.get(str(y)) for y in x] for x in A]
这里有一个NumPythonic矢量化方法-
NumPythonic
B[:,1][(A == B[:,0].astype(int)[:,None,None]).argmax(0)]
在一般情况下运行的示例-
您可以使用字典和列表理解:
不使用任何具体的numpy事情你可以做:
这里有一个
NumPythonic
矢量化方法-在一般情况下运行的示例-
^{pr2}$相关问题 更多 >
编程相关推荐