Исходный код идентифицировал как минимумы также первый элемент плоскости, но новый код этого не делает, и я не смог найти способ.
Это MWE:
Код: Выделить всё
import numpy as np
from scipy import signal
test = np.array([0, 1, 2, 3, 1, 0, -1, -1, -2, -3, -2, 0])
wanted_mins = np.where(((test[:-2] > test[1:-1]) * (test[2:] >= test[1:-1])) & (test[1:-1] < 0))[0] + 1
refactored_mins = signal.find_peaks(np.negative(np.where(test
Подробнее здесь: [url]https://stackoverflow.com/questions/78695792/find-local-minima-of-array-including-the-first-element-of-plateau[/url]