【问题标题】:sorting a dataframe by values and storing index and columns按值对数据框进行排序并存储索引和列
【发布时间】:2017-03-28 12:26:01
【问题描述】:

我有一个实际上是一个矩阵的 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

【问题讨论】:

  • 所以你想要每一行的最大值,以及它的行名(“索引”)和列名?

标签: sorting pandas dataframe reshape


【解决方案1】:

您需要stack 才能使用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

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 2018-10-09
    • 2013-12-15
    • 2017-12-26
    • 1970-01-01
    • 2019-10-20
    • 2021-10-29
    • 2019-10-24
    • 2022-11-12
    相关资源
    最近更新 更多