<p>使用<code>np.where()</code>如何提高性能?我想会快得多</p>
<p>输入:</p>
<pre><code>Patient ID Regular ward Semi-intensive Intensive
1 0 0 0
2 1 0 0
3 0 1 0
4 0 1 0
5 0 0 1
</code></pre>
<p>代码:</p>
<pre><code>df=pd.read_clipboard(sep='\\s\\s+'))
df['Admission type'] = ''
df['Admission type'] = np.where(df['Regular ward'] == 1, 'Regular ward', df['Admission type'])
df['Admission type'] = np.where(df['Semi-intensive'] == 1, 'Semi-intensive', df['Admission type'])
df['Admission type'] = np.where(df['Intensive'] == 1, 'Intensive', df['Admission type'])
df['Admission type'] = np.where((df['Regular ward'] + df['Semi-intensive'] + df['Intensive'] == 0),
'No admission', df['Admission type'])
df=df[['Patient ID', 'Admission type']]
df
</code></pre>
<p>输出:</p>
<pre><code> Patient ID Admission type
0 1 No admission
1 2 Regular ward
2 3 Semi-intensive
3 4 Semi-intensive
4 5 Intensive
</code></pre>