为了账号安全,请及时绑定邮箱和手机立即绑定

在python数组中找到接近数字的值并将其索引

在python数组中找到接近数字的值并将其索引

汪汪一只猫 2022-10-11 10:12:21
这是我到目前为止的代码:import numpy as np#make amplitude and sample arraysamplitude=[0,1,2,3, 5.5, 6,5,2,2, 4, 2,3,1,6.5,5,7,1,2,2,3,8,4,9,2,3,4,8,4,9,3]#print(amplitude)#split arrays up into a line for each sampletraceno=5                  #number of traces in filesamplesno=6                #number of samples in each trace. This wont change.amplitude_split=np.array(amplitude, dtype=np.int).reshape((traceno,samplesno))print(amplitude_split)#find max value of tracemax_amp=np.amax(amplitude_split,1)print(max_amp)#find index of max valueind_max_amp=np.argmax(amplitude_split, axis=1, out=None)#print(ind_max_amp)#find 90% of max value of traceamp_90=np.amax(amplitude_split,1)*0.9print(amp_90)我想在数组的每一行中找到最接近相应 amp_90 的值。我也希望能够获得这个数字的索引。请帮忙!nb 我知道这很容易用肉眼完成,但在我将其应用于我的真实数据之前,它是一个测试数据集!
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

IIUC,您可以执行以下操作:


# find the indices of the min absolute difference 

indices = np.argmin(np.abs(amplitude_split - amp_90[:, None]), axis=1)


# get the values at those positions

result = amplitude_split[np.arange(5), indices]


print(result)


查看完整回答
反对 回复 2022-10-11
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信