擅长:python、mysql、java
<p>这是一种数字方法:</p>
<pre><code>In [115]: np.split(signal, np.where(np.diff(signal > threshold))[0] + 1)
Out[115]: [array([1, 2]), array([6, 7, 8]), array([1, 1, 2]), array([5, 6, 7])]
</code></pre>
<p>请注意,这将为您提供基于拆分逻辑(基于<code>diff</code>和continues项)的所有上下项目始终是交错的,这意味着您可以简单地通过索引将它们分开:</p>
^{pr2}$
<p>您可以将列表的第一项与<code>threshold</code>进行比较,以找出上面哪一个部分会给出上面的项目。在</p>
<p>通常,您可以使用以下代码段获取上面的项目:</p>
<pre><code>np.split(signal, np.where(np.diff(signal > threshold))[0] + 1)[signal[0] < threshold::2]
</code></pre>