例如,有一个数组a。
a = [ [1,2] ]
和阵列B。
b = [ [[0,0,0],[0,0,0]] ]
如何用数组a中的下标1替换数组B中的值?也就是说,应该获得下面的数组r。
r = [ [[0,1,0],[0,0,1]] ]
我花了很多时间来解决这个问题,还没有找到没有蛮力的最快可能的方法。
wljmcqd81#
下面的代码执行广播索引
import numpy as np a = np.array( [ [1,2] ]) b = np.array([ [[0,0,0],[0,0,0]] ]) r = np.zeros(b.shape) r[np.arange(a.shape[0]), np.array(a.shape ) -1, a] = 1 print(r)
[0.[0. 0. 1.]
1条答案
按热度按时间wljmcqd81#
下面的代码执行广播索引
[0.[0. 0. 1.]