根据[最后一行,第一列]中的值对DataFrame列进行排序

时间:2019-06-12 09:14:08

标签: python pandas dataframe

我有一个df,我试图根据最后一行中的值(基本上是df中最左下方的单元格中的值)以降序对列进行排序。 如何在Python中做到这一点?

我试图寻找与我类似的问题,但是我没有找到解决方法。

谢谢。

生成的df在单元格df [-1,1]中应具有该行的最大值,在df [-1,2]中应具有第二个最大值……以此类推。

2 个答案:

答案 0 :(得分:1)

您可以为此在相关行的负值上使用argsort()

import pandas as pd
import numpy as np

df.iloc[:,np.argsort(-df.iloc[-1,:])]

答案 1 :(得分:0)

我的理解是您正在尝试根据最后一列对数据进行排序。我想这最后一列将是动态的,因此您不能只使用该列的名称。要按降序对任何数据框进行排序,可以使用

df.sort_values([column name], ascending=False)

要查找最后一列,您可以使用

df.columns[-1]

综合考虑,我想您想要这样的东西。

df.sort_values(df.columns[-1], ascending=False)