擅长:python、mysql、java
<pre><code>n = 2 # Number of following rows
x = 1 # Differ by more than 'x'.
>>> pd.concat([(df.A - df.A.shift(-i - 1)).abs().le(x)
for i in range(n)], axis=1).any(axis=1) * 1
0 1
1 0
2 1
3 0
4 0
dtype: int64
</code></pre>
<p>移位被执行<code>n</code>次,并与当前值进行比较,得到以下布尔值:</p>
^{pr2}$
<p>然后跨行对这些结果进行比较,寻找任何真正的值。最后,布尔结果乘以1,将其转换为1和0。</p>
<pre><code>`pd.concat(...).any(axis=1) * 1`
</code></pre>