<p>另一个答案更多地依赖于<a href="https://tomaugspurger.github.io/method-chaining" rel="nofollow noreferrer">modern pandas style</a>。对于第二大相关性,我没有找到一个好的解决方案。我找到答案后会编辑它。在</p>
<pre class="lang-py prettyprint-override"><code>### Create an example df
df = pd.DataFrame(data = {"A":pd.np.random.randn(10),
"B":pd.np.random.randn(10),
"C":pd.np.random.randn(10),
"D":pd.np.random.randn(10),
}
)
# Solution
(
df.corr() #correlation matrix
.replace(1, pd.np.nan) # replace the matrix with nans
.assign( # assign new variables
First = lambda x: x.loc[["A","B","C","D"], ["A","B","C","D"]].idxmax(axis = 1), # Biggest correlation idx
First_value = lambda x: x.loc[["A","B","C","D"], ["A","B","C","D"]].max(axis = 1), # Biggest correlation
Last = lambda x: x.loc[["A","B","C","D"],["A","B","C","D"]].idxmin(axis = 1), # Smallest correlation idx
Last_value = lambda x: x.loc[["A","B","C","D"],["A","B","C","D"]].idxmin(axis = 1), # Smallest correlation
)
)
</code></pre>
<p>我使用<code>.loc[["A","B","C","D"],["A","B","C","D"]]</code>,这样操作只在未修改的数据帧上进行。在</p>
输出:
^{pr2}$