擅长:python、mysql、java
<p>您可以定义两个掩码并将它们传递给<code>np.where</code>:</p>
<pre><code>In [91]:
normal = df['salary'] <= 8000
experienced = (df['salary'] > 8000) & (df['salary'] <= 25000)
df['position'] = np.where(normal, 'normal emplyee', np.where(experienced, 'experienced employee', 'unknown'))
df
Out[91]:
name salary department position
0 a 2500 x normal emplyee
1 b 5000 y normal emplyee
2 c 10000 y experienced employee
3 d 20000 x experienced employee
</code></pre>
<p>或者更具可读性的是将它们传递给<code>loc</code>:</p>
<pre><code>In [92]:
df.loc[normal, 'position'] = 'normal employee'
df.loc[experienced,'position'] = 'experienced employee'
df
Out[92]:
name salary department position
0 a 2500 x normal employee
1 b 5000 y normal employee
2 c 10000 y experienced employee
3 d 20000 x experienced employee
</code></pre>