我有一个零数组
arr = np.zeros([5,5])
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]])
我想根据索引分配值,所以我做了这个。
out = np.array([[nan,2.,4.,1.,1.],[nan,3.,4.,4.,4.]])
arr[out[0].astype(int),np.arange(len(out[0]))] = 1
arr[out[1].astype(int),np.arange(len(out[1]))] = 1
如果是0而不是NaN,那么分配工作就很好。
如果遇到NaN,我该怎么跳过分配?是否有可能一次从多维索引数组中分配值,而不是使用for循环逐个赋值?