Я работаю со спектрограммой, и я хочу найти индекс максимального значения в этом массиве на определенной частоте в определенном временном диапазоне, чтобы определить, когда наступит максимум. Я нашел максимум, и это было значение, которое я ожидал из графика данных, однако, когда я пытаюсь проиндексировать значение, я получаю пустой массив, независимо от того, как сильно я стараюсь.
Это мой входной код:
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)
Ничто не возвращает индекс максимума. Что я делаю не так?