擅长:python、mysql、java
<p>你的方法不起作用,因为你陈述的左右两边形状不同。左边部分的形状为<code>(2,)</code>,右边部分的形状为<code>(2, 2)</code>:</p>
<pre><code>df.loc[df.B.isna(),'B']
</code></pre>
<p>退货:</p>
<pre><code>2 NaN
3 NaN
</code></pre>
<p>你想在这里填上:</p>
<pre><code>df.loc[df.B.isna(),'A'].str.extract(r'( [a-zA-Z](.*))')
</code></pre>
<p>退货:</p>
<pre><code> 0 1
2 doe oe
3 mo o
</code></pre>
<p>您可以采用列<code>1</code>,然后它将具有与左侧部分相同的形状<code>(2,)</code>,并适合:</p>
<pre><code>df.loc[df.B.isna(),'A'].str.extract(r'( [a-zA-Z](.*))')[1]
</code></pre>
<p>退货:</p>
<pre><code>2 oe
3 o
</code></pre>