擅长:python、mysql、java
<p>结合使用max()和dropna()</p>
<p>首先创建数据帧:</p>
<pre><code>df = pd.DataFrame(np.random.randn(4,4))
0 1 2 3
0 0.051775 0.352410 -0.451630 -0.452446
1 -1.434128 0.516264 -0.807776 -0.077892
2 1.615521 0.870604 -0.010285 -0.322280
3 -0.027598 1.046129 -0.165166 0.365150
</code></pre>
<p>计算max()两次以获得数据帧中的最大值,然后用nan剪切行和列。你知道吗</p>
<pre><code>result = df[df == abs(df).max().max()].dropna(axis=0, how="all").dropna(axis=1, how='all')
print(result)
0
2 1.615521
</code></pre>
<p>最后,得到列和行的值,加上最大值。你知道吗</p>
<pre><code>max_value = result.values.item()
max_column = result.columns.values[0]
max_row = result.index.values[0]
print('max_value', max_value, 'max_column', max_column,'max_row', max_row)
max_value 1.615520522284493 max_column 0 max_row 2
</code></pre>