熊猫会在差异未达到阈值的地方排行

时间:2019-06-21 09:02:25

标签: python pandas

因此,假设我们有一个这样的表(时间,距离,速度,距离变化,以米和秒为单位):

   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

1 个答案:

答案 0 :(得分:1)

希望我能正确理解您的问题, 要找出每行不同的值,可以使用pandas.DataFrame.diff

df = pd.DataFrame({'a': [1, 2, 4, 6, 5, 10]})
df['diff']=df.diff()

它将给您类似

enter image description here

之后,您可以根据自己的号码过滤出差异

df[df['diff']>=1]