![](/img/trans.png)
[英]Python: Efficienctly calculate mean of off-diagonal elements for Cadzow filter
[英]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
目標是在數據幀及其對應的index
和column
找到兩個最大值。 這些最大值不能在對角線上 。 我該怎么辦?
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.