我有一个df,我试图根据最后一行中的值(基本上是df中最左下方的单元格中的值)以降序对列进行排序。 如何在Python中做到这一点?
我试图寻找与我类似的问题,但是我没有找到解决方法。
谢谢。
生成的df在单元格df [-1,1]中应具有该行的最大值,在df [-1,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)