python - 在数据框中,从起始元素中查找小于/大于 0.05 的元素。然后将这个新索引作为第一个迭代器
问题描述
我有一个问题不是微不足道的,实际上很难解释。我从这样的事情开始: 根据连续的行值差异拆分数据框, 其中我将代码修改为:
df1 = df1.assign(difference=(diff:=df1['Position'].diff()),
Change_position=(gt1:=diff.ne(0)),
Manoeuvre_nr=gt1.cumsum())
我的数据框如下,超过 1200 万行(索引是日期,但在这里不相关) 我的数据框的一小部分图片
我必须分析一个名为“Rounded_position”的列。我需要获取起始位置 [0],滑动其元素并找到第一个元素,其中 df['Rounded_position'][0] > 或 < (+/-)0.05。然后取这个新索引 df['Rounded_position'][ indx_new ] > or < (+/-)0.05 并做同样的事情,等等直到最后。
但是,在每行检查的同时,我需要在新列中给它一个标签,这意味着我需要计算我发现更改的所有时间。在我粘贴的链接中使用的方法中,它完成了部分工作,但它只检查行之间是否存在变化,而不是满足特定条件的行在哪里。我试图将其更改为 diff.gt(0.05) 但随后它会在每一行之间进行检查,这不是我需要的。
前任。从我的 df 开始,当我从 position=-2.12 开始并在列中向下滑动时,position=-2.07 的元素将是我的下一个“起始索引”,我将在那里放置标签“1”并继续标记“1”直到我找到满足条件的下一个元素。他们我更改标签等。
如果有人有任何提示,我将不胜感激。
解决方案
推荐阅读
- javascript - 我正在使用 node js 开发一个应用程序,它在本地运行良好,但每当我尝试将其上传到 heroku 时就会崩溃,它说 cat find dotenv
- javascript - 通过谷歌应用脚本向不和谐频道发送消息
- oracle - 如何在 PL/SQL 中创建可以创建限制的触发器,以便它们只能放置 1 个字符?
- python - 在while循环中列出索引超出范围
- c# - 如何使用 LINQ Select 调用异步 Lamba 表达式?
- python - docker容器中的Django项目无法运行manage.py runserver
- java - 使用对象映射器从 JsonNode 返回一个通用列表?
- node.js - 如何在 React.js 应用程序中从 BigQuery 获取数据?
- cmd - Ping 结果在记事本中
- go - 在正确的结构中转换 json 而不是使用接口