擅长:python、mysql、java
<p>您还需要屏蔽“<em>数据提供程序</em>”:</p>
<pre><code>df.loc[mask0, 'newColumn'] = df[<b>mask0,</b> 'otherColumn1']
df.loc[mask1, 'newColumn'] = df[<b>mask1,</b> 'otherColumn2']</code></pre>
<p>如果第一个条件为真,如果后者为假,反之亦然,我们可以使用<code>np.where(..)</code>:</p>
<pre><code>df['newColumn'] = np.where(mask0, df['otherColumn0'], df['otherColumn2'])</code></pre>
<p>或者您可以使用<code>np.select(..)</code>以防两者都为假,如果两个条件都为<code>False</code>,则我们可以使用旧值:</p>
<pre><code>df['newColumn'] = np.select(
[mask0, mask1],
[df['otherColumn1'], df['otherColumn2']],
default=df['newColumn']
)</code></pre>
<p>当然,这里我们假设<code>newColumn</code>已经存在于数据帧中(例如通过一些先前的处理)。你知道吗</p>