擅长:python、mysql、java
<p>一行解决方案,没有ifelse或自定义函数。
根据@SeaBean的建议进行改进</p>
<pre class="lang-py prettyprint-override"><code>d = {0: 'Missing', 1: 'FirstFilled', 2: 'SecondFilled', 3: 'BothFilled'}
df['Third'] = (df.ne('')*(1,2)).sum(1).map(d)
</code></pre>
<p>输出:</p>
<pre class="lang-py prettyprint-override"><code>print(df)
First Second Third
0 12 SecondFilled
1 Missing
2 A 10 BothFilled
3 B FirstFilled
4 B FirstFilled
5 C 11 BothFilled
</code></pre>