使用熊猫,在将每个连续值与前一个值进行比较时遍历数据帧中的列的最佳方法是什么

enc*_*cer 2 python iteration dataframe pandas data-science

例如,假设我有以下数据集,它持续 20,000 行(大数据集)。

time      velocity
0.000000  2.36949
0.005217  2.36169             
0.010434  2.35677
0.015651  2.35299
0.020869  2.35015
Run Code Online (Sandbox Code Playgroud)

我想取“速度”中的第二个值并从第一个值中减去它。如果差值小于 0.005,则继续第三个值。

并继续取第三个和第二个值的差值,但如果差值大于 0.005,则将这两个值的差值除以另一个值并存储结果。

我想在整个数据帧中继续这个过程。

最终,我想绘制满足我的条件的“增量值”与它们发生的时间。

任何帮助表示赞赏。

WeN*_*Ben 5

diff然后np.where

s=df.velocity.diff()
df['new']=np.where(s.abs()>0.005,s/value,s)
Run Code Online (Sandbox Code Playgroud)