繁体   English   中英

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

[英]Sort DataFrame columns according to value in [last row, first column]

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

我曾尝试寻找与我类似的问题,但没有设法找到解决方案。

谢谢。

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

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

import pandas as pd
import numpy as np

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

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

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

为了找到最后一列,您可以使用

df.columns[-1]

综上所述,我认为您想要这样的东西。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM