我想根据一个thresold值(如果有的话)找到最近值的索引到多维numpy数组中。
这是一个更大项目的一部分,所以我做了一个更明确的例子。 当计算31时,我想找出是否已计算出接近31计算的数字。 thresold值可能是30的10%。 例如,'30'。然后我想将-2的索引替换为堆栈数组。 我做了一个简短的例子,但有数千个数字我只想减少堆栈数组中的值数
stack = np.full((7,3), np.nan)
prophomo = np.full((7,5,2), np.nan)
stack[:,2] = np.array([-1,-2,3000,-2,2171,-1,-2])
values1 = np.full((5,2), 20)
values2 = np.full((5,2), 30)
k = 0
for i in range(optstack.shape[0]):
elem = stack[i,2]
if elem == -1:
prophomo[i,:,:] = values1
elif elem == -2:
prophomo[i,:,:] = values2
else:
if k == 0:
prophomo[i,0:-1,0:-1] = 31
else:
prophomo[i,0:-1,0:-1] = 50
k = k + 1