创建包含后续行的条件的组

问题描述

我想根据条件对数据框进行分组。数据是这样的(我在excel中做了一个例子,但它的50k-100k行要大得多):

Input data

条件是:

  • 开始一个周期 3 个连续的相同符号值。
  • 结束一个周期 3 个连续的相同符号值。

条件是为了避免快速波动。

我所做的是对数据进行分类,然后应用 sumcum 对其进行分组。但是,我无法弄清楚如何应用条件来添加 3 个连续的开始/结束时段...

我的代码

data = pd.read_csv(data.csv)
data['category'] = (data['data']).apply(lambda x : 'B' if (x < 0) else 'A')

data['group'] = (data['category'].shift() != data['category']).cumsum()

我得到了什么:

enter image description here

我想要什么:

Desired output

有什么建议吗?谢谢!

解决方法

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

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

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