<p>如果每列需要第一个非缺失值,请使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.dropna.html" rel="nofollow noreferrer">^{<cd1>}</a>和<code>next</code>以及<code>iter</code>作为可能的设置默认值(如果不存在第一个值):</p>
<pre><code>df.loc['sum'] = df.apply(lambda x: next(iter(x.dropna()),np.nan))
print (df)
1-Jan 2-Jan 3-Jan 4-Jan
Date
1 Bob NaN Bob NaN
2 NaN NaN Bob Bob
3 NaN NaN Bob Bob
sum Bob NaN Bob Bob
</code></pre>
<p>或者将<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.stack.html" rel="nofollow noreferrer">^{<cd4>}</a>与<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.groupby.GroupBy.first.html" rel="nofollow noreferrer">^{<cd5>}</a>一起使用:</p>
<pre><code>df.loc['sum'] = df.stack().groupby(level=1).first()
print (df)
1-Jan 2-Jan 3-Jan 4-Jan
Date
1 Bob NaN Bob NaN
2 NaN NaN Bob Bob
3 NaN NaN Bob Bob
sum Bob NaN Bob Bob
</code></pre>
<p>如果需要测试值<code>Bob</code>:</p>
<pre><code>df.loc['sum'] = df.eq('Bob').any().map({True: 'Bob', False: np.nan})
print (df)
1-Jan 2-Jan 3-Jan 4-Jan
Date
1 Bob NaN Bob NaN
2 NaN NaN Bob Bob
3 NaN NaN Bob Bob
sum Bob NaN Bob Bob
</code></pre>