Может быть несколько разных, правильных ответов в зависимости от того, как определяется пик.
Предполагается, что вам просто нужны индексы, где температура значительно увеличивается . Один простой метод - просто искать очень большие скачки в значении, выше некоторого порогового значения. Порог может быть рассчитан из средней разности данных, которая должна дать грубое приближение того, где происходят значительные изменения в значении. Вот базовая c реализация:
import numpy as np
# Data
x = np.array([0, 1, 2, 50, 51, 52, 53, 100, 99, 98, 97, 96, 10, 9, 8, 80])
# Data diff
xdiff = x[1:] - x[0:-1]
# Find mean change
xdiff_mean = np.abs(xdiff).mean()
# Identify all indices greater than the mean
spikes = xdiff > abs(xdiff_mean)+1
print(x[1:][spikes]) # prints 50, 100, 80
print(np.where(spikes)[0]+1) # prints 3, 7, 15
Вы также можете посмотреть использование отклонения выброса, которое было бы намного умнее, чем это базовое c сравнение со средней разницей. Есть много ответов о том, как это сделать: Может ли scipy.stats идентифицировать и маскировать явные выбросы?