У меня есть периодические данные с индексом, представляющим собой число с плавающей запятой, например поэтому:
time = [0, 0.1, 0.21, 0.31, 0.40, 0.49, 0.51, 0.6, 0.71, 0.82, 0.93]
voltage = [1, -1, 1.1, -0.9, 1, -1, 0.9,-1.2, 0.95, -1.1, 1.11]
df = DataFrame(data=voltage, index=time, columns=['voltage'])
df.plot(marker='o')
я хочу создатьcross(df, y_val, direction='rise' | 'fall' | 'cross')
функцию, которая возвращает массив временных (индексов )со всеми интерполированные точки, в которых значения напряжения равны y _val . Для 'подъем' возвращаются только те значения, где наклон положителен; для 'падение' восстанавливаются только значения с отрицательным наклоном; для 'крест' возвращаются оба. Таким образом, если y _val=0 и direction='cross' , тогда будет возвращен массив из 10 значений со значениями X точек пересечения (первого составляет около 0,025 ).
Я думал, что это можно сделать с помощью итератора, но мне было интересно, есть ли лучший способ сделать это.
Спасибо. Я люблю Pandas и сообщество Pandas.