希望您能帮助我解决这个愚蠢的问题。
我需要按最高值对列进行排序。我的数据框由31列组成,前7列看起来像这样。
我需要看起来像这样
我已经尝试过使用此代码
sorted_df = df_1.sort_values(df_1.last_valid_index(), axis=1)
但是它行不通。基本上,在所有列中,我需要找到具有最高值的6列。你能帮我吗 ?
谢谢!
答案 0 :(得分:2)
您可以转置,排序和转置
df = pd.DataFrame( { "name": ["messi"], "height": [170], "weight":[72], "attack_cross":[88] })
df.T[df.T.index != 'name'].sort_values(0,ascending = False).T
给予
height attack_cross weight
0 170 88 72
添加玩家名称,您就很好。
如果只想要前6个,则可以添加head(6)
df.T[df.T.index != 'name'].sort_values(0,ascending = False).head(6).T