Используя pandas, как лучше всего go пройти через столбец в кадре данных, сравнивая каждое последующее значение с предыдущим значением - PullRequest
2 голосов
/ 30 мая 2020

Например, допустим, у меня есть следующий набор данных, который продолжается для 20000 строк (большой набор данных).

time      velocity
0.000000  2.36949
0.005217  2.36169             
0.010434  2.35677
0.015651  2.35299
0.020869  2.35015

Я бы хотел взять второе значение в «скорости» и вычесть его из первое значение. Если разница меньше, например, 0,005, переходите к третьему значению.

И продолжайте принимать разницу между третьим и вторым значением, но если разница больше 0,005, разделите разницу этих двух значений на другое значение и сохраните результат.

Я бы хотел чтобы продолжить этот процесс во всем фрейме данных.

В конечном итоге я хочу построить график «дельта-значений», которые соответствуют моему условию, в зависимости от времени, в которое они происходят.

Любая помощь приветствуется.

1 Ответ

5 голосов
/ 30 мая 2020

Выполните diff, затем с np.where

s=df.velocity.diff()
df['new']=np.where(s.abs()>0.005,s/value,s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...