假设我们有一个这样的表(时间,距离,速度,距离变化(以米和秒为单位)):
t d v delta_d
0 0 1.0 0.5 NaN
1 1 1.5 0.1 0.5
2 2 1.6 0.1 0.1
3 3 1.7 0.0 0.1
4 4 1.7 0.1 0.0
5 5 1.8 0.1 0.1
6 6 1.9 0.6 0.1
7 7 2.5 0.7 0.6
8 8 3.2 0.7 0.7
如何删除未更改总delta_d的行?
即,如果我要遍历行,如何在n米的线段之间放置点?
本质上是基于距离进行“重采样”,但没有插值?
假设我只希望至少每0.15米读取一次,但我不想只滴下小于0.15m的点...
我可以使用一个for循环和一个计数器来执行此操作,然后除非我未达到阈值就将其丢弃,但是有熊猫可以做到这一点吗?
编辑:我的预期输出将是这样的:
t d v delta_d
0 0 1.0 0.5 NaN
1 1 1.5 0.1 0.5
3 3 1.7 0.0 0.1
6 6 1.9 0.6 0.1
7 7 2.5 0.7 0.6
最佳答案
希望我能正确理解您的问题,
要找出每行的不同值,可以使用pandas.DataFrame.diff
df = pd.DataFrame({'a': [1, 2, 4, 6, 5, 10]})
df['diff']=df.diff()
它会给你,像
之后,您可以根据自己的号码过滤出差异
df[df['diff']>=1]
关于python - Pandas 在差异未达到阈值的地方放行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56700158/