根据底部行中的值对数据框列的顺序进行排序

时间:2018-08-11 05:44:34

标签: python pandas numpy dataframe

我尝试了此方法,但是它不起作用:

df5[[c for c in sorted(list(df5.columns), key=df5.iloc[-1].get, reverse=True)]]

2 个答案:

答案 0 :(得分:0)

尝试一下:

import pandas as pd
data = pd.read_csv('your_data_file')
sort_column = data.sort_values('name_of_column',ascending=False)
print(sort_column)

答案 1 :(得分:0)

你很近。试试这个:

import pandas as pd

df = pd.DataFrame({'a': [1, 2, 3], 'b': [ 4, 5, 2], 'c': [2, 4, 5]})
print(df)

df = df[[x for _, x in sorted(zip(df.iloc[-1], df.columns), reverse=True)]]
print(df)

启动DataFrame:

   a  b  c
0  1  4  2
1  2  5  4
2  3  2  5

按底部行中的值以降序排列的列:

  c  a  b
0  2  1  4
1  4  2  5
2  5  3  2