<p>如果至少有一个值大于或等于<code>4</code>,请将<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.ge.html" rel="nofollow noreferrer">^{<cd2>}</a>与<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.idxmax.html" rel="nofollow noreferrer">^{<cd3>}</a>一起使用:</p>
<pre><code>s = df.ge(4).idxmax(axis=1)
print (s)
John col2
victor col2
Alida col6
Natalie col6
Morman col7
dtype: object
</code></pre>
<p>如果不确定,则可能存在不正确的输出添加<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.where.html" rel="nofollow noreferrer">^{<cd4>}</a>和<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.any.html" rel="nofollow noreferrer">^{<cd5>}</a>测试:</p>
<pre><code>print (df)
col1 col2 col3 col6 col7 col8 col9
John 0 0 0 1 1 1 2
victor 1 4 5 2 1 4 15
Alida 1 1 2 6 0 2 2
Natalie 0 1 1 4 2 3 4
Morman 3 3 1 0 5 2 1
print (df.ge(4).idxmax(axis=1))
John col1 <- incorrect value, because no match
victor col2
Alida col6
Natalie col6
Morman col7
dtype: object
mask = df.ge(4)
s = mask.idxmax(axis=1).where(mask.any(axis=1), 'no match')
print (s)
John no match
victor col2
Alida col6
Natalie col6
Morman col7
dtype: object
</code></pre>
<p>最后一个数据帧使用:</p>
<pre><code>df2 = s.reset_index(name='Greater Than 4')
</code></pre>
<p>对于最大值和最大列名,可以使用:</p>
<pre><code>df2 = df.where(df.ge(4)).agg(['max','idxmax'], axis=1)
print (df2)
max idxmax
John 23 col2
victor 15 col9
Alida 6 col6
Natalie 4 col6
Morman 5 col7
</code></pre>