按值对数据框进行排序并存储索引和列

sorting a dataframe by values and storing index and columns

我有一个 pandas DataFrame,它实际上是一个矩阵。看起来如下图

    a   b   c
d   1   0   5
e   0   6   2
f   2   0   3

我需要对值进行排序,并且需要索引值和它们的列。结果应该是

index Column Value

e       b      6

d       c      5

f       c      3

你需要stack for reshape with nlargest:

df1 = df.stack().nlargest(3).rename_axis(['idx','col']).reset_index(name='val')
print (df1)
  idx col  val
0   e   b    6
1   d   c    5
2   f   c    3

对于MultiIndex

df2 = df.stack().nlargest(3).to_frame(name='val')
print (df2)
     val
e b    6
d c    5
f c    3