Pandas:根据信号阈值拆分数据帧

Pandas: split dataframe on signal threshold

我有一个 pandas 数据框,我在其中确定了一些我想独立拆分和分析的区域。例如这里有五个不同的区域:

生成自

df["signal"] = df["average"] > 0.70
df["blocked_signal"] = convolve1d(df.signal, [1,1,0,1,1])

如何从 blocked_signal 列创建五个单独的区域?

您可以使用

创建群组
mask = df["average"].gt(.7)
rgns = mask.diff().iloc[::-1].cumsum().iloc[::-1]
gb = df.assign(Region=rgns)[mask].groupby('Region')

我可以给你看更多,但你没有提供数据来玩。