擅长:python、mysql、java
<p>根据@ShubamSharma的答案,获取空的行,转换为类型<code>int</code>,获取1和0之间的差异,从底部开始计算(因为我们正在查找nan之前的最后一个非空值),最后使用<code>np.where</code>获得结果:</p>
<pre><code>s1 = np.where(s.isna().astype(int).diff(-1).eq(-1), s, np.nan)
s1
array([nan, nan, nan, 2., nan, nan, nan, 3., nan])
</code></pre>