У меня есть список значений, который представляет функцию демпфирования при построении графика (так что это форма синусоиды). Таким образом, эта функция несколько раз передает y = 0, пока не выровняется по y = 0. Мне нужно найти индекс в тот момент, когда функция проходит ноль в третий раз.
Все значения являются числами с плавающей запятой, поэтому у меня есть функция, которая находит индекс, ближайший к нулю:
def find_index(list_, value):
array = np.asarray(list_)
idx = (np.abs(array - value)).argmin()
return idx
Где 'list_' - список, а 'value' - ноль.
Эта функция работает, но она может извлечь только индекс первого момента, когда функция демпфирования (и, следовательно, список) ближе всего к нулю. Это означает, что он покажет нулевой индекс (потому что функция демпфирования начинается с нуля). Однако мне нужен индекс в третий раз, когда он ближе всего к нулю.
Как я могу получить индекс в третий раз, когда он будет ближе к нулю, а не в первый раз?