假设我有下面这个数据框
import pandas as pd
df = pd.DataFrame({ 'distance':[2.0, 3.0, 1.0, 4.0],
'velocity':[10.0, 20.0, 5.0, 40.0] })
提供数据框。
distance velocity
0 2.0 10.0
1 3.0 20.0
2 1.0 5.0
3 4.0 40.0
如何计算距离列的滚动总和上速度列的平均值?利用上述示例,创建一个在最后N行上的滚动总和,以获得至少5的累积距离,并计算这些行上的平均速度。
我的目标输出应该像这样:
distance velocity rv
0 2.0 10.0 NaN
1 3.0 20.0 15.0
2 1.0 5.0 11.7
3 4.0 40.0 22.5
在哪里
15.0 = (10+20)/2 (2 because 3 + 2 >= 5)
11.7 = (10 + 20 + 5)/3 (3 because 1 + 3 + 2 >= 5)
22.5 = (5 + 40)/2 (2 because 4 + 1 >= 5)
更新:在Pandas中,我的代码应该找到当前记录的反向累计距离和的索引(使其大于等于5),然后使用该索引计算移动平均值的起始位置。