簡體   English   中英

Python-熊貓:找出對角線以外的最大值

[英]Python - Pandas: Find largests values off-diagonal

這有點復雜。 我有多個數據框df ,都具有相同的列和索引,如下所示:

       E          F          H            
row                                                                     
CE     17.917153 10.875160   9.970251 
CF     9.780500  16.261098  10.021619    
CH     12.293967 10.608844  10.870527 

我在每個df目標是在數據幀及其對應的indexcolumn找到兩個最大值。 這些最大值不能在對角線上 我該怎么辦?

from pandas import *


L = [[17.917153, 10.875160,   9.970251],   
     [9.780500,  16.261098,  10.021619], 
     [12.293967, 10.608844,  10.870527]]

df = DataFrame(L)

df2 = df.unstack().copy()

df2.sort()

IDX = df2[:].index

IDX = list(reversed(IDX))


M = []

for x in IDX[1:]:
    if(x[0]==x[1]):
        continue
    M.append(x);
    if(len(M)==2):
        break;

Max1 = M[0]
Max2 = M[1]


print "Max1 : ", Max1, "->", df2[Max1] 
print "Max2 : ", Max2, "->", df2[Max2]

輸出:

Max1 :  (0, 2) -> 12.293967
Max2 :  (1, 0) -> 10.87516
         ^
       column

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM