假设我有一个看起来像这样的相关矩阵:
df = pd.DataFrame(data={'a':[1,0.2,0.3,0.4],'b':[0.2,1,0.5,0.6],'c':[0.3,0.5,1,0.7],'d':[0.4,0.6,0.7,1]}, index=['a','b','c','d'])
什么是提取每个成对组合(a-b、a-c等)的唯一值的最佳方法?
df2 =
a_b a_c a_d b_c b_d c_d
0.2 0.3 0.4 0.5 0.6 0.7
我唯一能想到的方法就是编写自己的函数,但想知道是否有更简便的方法。
df.values[np.triu_indices(len(df), 1)]
。这假设df
是一个方形的相关性数据框。请参见下面的答案。 - william_grisaitis