2016-12-27 35 views
0

我有一個DF大熊貓排序相關列到第一列

  A   B   C   D 
A 1.000000 0.202557 0.689214 -.705000 
B 0.202557 1.000000 0.038306 -0.113245 
C 0.689214 0.038306 1.000000 0.074773 
D -.705000 -0.113245 0.074773 1.000000 

我想通過相關到A列排序, 應積極進行排序負

  A   C  B   D 
A 1.000000 0.689214 0.202557 -.705000 

我該怎麼辦這個? 感謝

+1

這是否幫助 - 'df.sort_values( 'A',上升=假軸= 1)'? –

+0

DataFrame中的內容是什麼?這些數字是相關係數,還是您想要計算列之間的相關係數並使用它們進行排序? –

回答

1

我明白的問題如下:你有一個數據幀,如

A B C 
0 2 0 3 
1 1 -3 0 
2 -1 2 -2 
3 3 -1 2 

,並希望通過相關列A.這包括計算相關矩陣的列進行排序(在圖示問題),然後根據相關性對原始數據幀進行排序。下面是如何:

ix = df.corr().sort_values('A', ascending=False).index 
df_sorted = df.loc[:, ix] 

輸出:

A C B 
0 2 3 0 
1 1 0 -3 
2 -1 -2 2 
3 3 2 -1 

相關矩陣是對稱的,所以我的方向熊貓排序偏好,柱內,而不是行內。所獲得的索引然後用於對列進行重新排序。