Я пытаюсь рассчитать положение объекта на основе отметки времени. Для этого у меня есть два кадра данных в pandas. Один для данных измерений и один для позиции. Все движение - прямое ускорение.
В кадре данных 1 содержатся данные измерений:
ms force ... ... ...
1 5 20
2 10 20
3 15 25
4 20 30
5 25 20
..... (~ 6000 lines)
В кадре данных 2 содержатся «данные позиционирования»
ms speed (m/s)
1 0 0.66
2 4500 0.66
3 8000 1.3
4 16000 3.0
5 20000 3.0
.....(~300 lines)
Теперь я хочу вычислить положение первого информационного кадра с данными из вторичного информационного кадра. В Excel я решил проблему с помощью массива формул, но теперь мне нужно использовать Python / Pandas, и я не могу найти способ выбрать правильную строку из информационного кадра 2 .
Моя идея состоит в том, чтобы сделать что-то вроде этого: if
В конце я хочу отобразить график "force <-> way", а не "force <-> time"
Спасибо в andvance
=================================== ====================================== Обновление: Тем временем я почти смог решить мою проблему. Теперь мои данные выглядят так:
Dataframe 2 (данные о скорости):
pos v a t t-end t-start
0 -3.000 0.666667 0.000000 4.500000 4.500000 0.000000
1 0.000 0.666667 0.187037 0.071287 4.571287 4.500000
2 0.048 0.680000 0.650794 0.010244 4.581531 4.571287
3 0.055 0.686667 0.205432 0.064904 4.646435 4.581531
...
15 0.055 0.686667 0.5 0.064904 23.0 20.0
...
28 0.055 0.686667 0.6 0.064904 35.0 34.0
...
30 0.055 0.686667 0.9 0.064904 44.0 39.0
И Dataframe 1 (измерение по времени):
Fx Fy Fz abs_t expected output ('a' from DF1)
0 -13.9 170.3 45.0 0.005 0.000000
1 -14.1 151.6 38.2 0.010 0.000000
...
200 -14.1 131.4 30.4 20.015 0.5
...
300 -14.3 111.9 21.1 34.01 0.6
...
400 -14.5 95.6 13.2 40.025
Итак, я хочу чтобы проверить время (abs_t) из DF1 и найти corract 'a' в DF2. Что-то вроде этого (псевдокод):
if (DF1['t_abs'] between (DF2['t-start'], DF2['t-end']):
DF1['a'] = DF2['a']
Я мог бы сделать два цикла, но это выглядит как неправильный путь и очень очень медленно.
Я надеюсь, вы понимаете мою проблему; предоставить работающий образец очень сложно. В Excel я сделал так:
