在数据框中从起始元素中查找小于/大于 0.05 的元素然后将这个新索引作为第一个迭代器

问题描述

我有一个很重要的问题,实际上很难解释。 我从这样的事情开始: Split the data frame based on consecutive row values differences 我将代码修改为:

    df1 = df1.assign(difference=(diff:=df1['Position'].diff()),Change_position=(gt1:=diff.ne(0)),Manoeuvre_nr=gt1.cumsum())

我的数据框如下,有超过 1200 万行(索引是日期,但这里不相关) Picture of a little part of my dataframe

我必须分析名为“Rounded_position”的列。我需要取起始位置 [0],滑动它的元素并找到第一个元素,其中 df['Rounded_position'][0] > 或 indx_new] > 或

但是,在检查每一行的同时,我需要在新列中给它一个标签,这意味着我需要计算发现更改的所有时间。在我从粘贴的链接中使用的方法中,它完成了部分工作,但它只检查行之间是否存在变化,而不检查满足特定条件的行在哪里。我试图将其更改为 diff.gt(0.05) 但随后它会在每一行之间进行检查,这不是我所需要的。

例如。从我的 df 开始,当我从 position=-2.12 开始并在列中向下滑动时,position=-2.07 的元素将是我的下一个“起始索引”,在那里我将放置标签“1”并继续标记“1”直到我找到下一个满足条件的元素。他们我改变标签

如果有人有任何提示,我将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)