为什么在我的频谱图数组中找不到最大值的索引?

Why can't I find the index of the maximum value in my spectrogram array?

我正在使用频谱图,我想在特定时间范围内的特定频率下找到该数组中最大值的索引,以便判断最大值何时发生。我找到了最大值,这是我从数据图中所期望的值,但是当我尝试索引该值时,无论我多么努力地尝试,我都会得到一个空数组。

这是我的输入代码:

tindex=np.where((t-tprior>0)&(t-tprior<2))
tindex=np.array(tindex)

findex=np.where(freqs==72)
findex=int(findex[0])


echopeak = np.amax(-np.real(Xsum[findex,tindex]))
print(echopeak)

peakindex = np.where(Xsum == echopeak)
print(peakindex)
print(Xsum[peakindex])

print(abs(Xsum[findex,tindex]-echopeak)<=1e44)

这是输出:

5.860244612305991e+44
(array([], dtype=int64), array([], dtype=int64))
[]
[[False False False False False False False False False False False False
  False False False False False False False False False False False False
  False False False False False False False]]

显然,既然返回了值,那么它就存在了。

我交替尝试过:

peakindex = (abs(Xsum - echopeak) <= 1e-12) #with numbers ranging all the way up to 1e44
peakindex = (Xsum[findex,tindex] < echopeak+1e44)&(Xsum[findex,tindex] > echopeak-1e44)

Nothing returns 索引最大值。我做错了什么?

函数np.argmax returns数组中最大值的索引:

peakindex = np.argmax(Xsum)