如何在熊猫数据框中按升序对所有列进行独立排序?

问题描述 投票:0回答:1

我想以升序对数据框中的所有列进行独立排序。我的数据框如下:

date,A,B,C,D
1989-12-31,540.8,497.351,757.9,649.811
1990-12-31,388.9,453.65,454.2,714.898
1991-12-31,796.3,170.308,1080.4,274.678
1992-12-31,427.7,304.587,695.6,414.898

我已经尝试过:

df1=df.sort_values(by=['A','B','C','D'],axis=0, inplace=True)

date,A,B,C,D
1990-12-31,388.9,453.65,454.2,714.898
1992-12-31,427.7,304.587,695.6,414.898
1989-12-31,540.8,497.351,757.9,649.811
1991-12-31,796.3,170.308,1080.4,274.678

但是如您所见,它仅适用于列'A'。

我必须在每列上循环吗?

有更简单的方法吗?我看过排序手册,但无法弄清楚。

谢谢

python pandas sorting multiple-columns
1个回答
0
投票

您的代码有效-但是排序的工作方式是分层的,如果A列中的每个值都不相同,那么它将首先对A列进行排序。然后,对于存在以下情况的所有实例,它将对B列进行排序仅当存在A和B相同但C不同的情况下,C才是A中相同值的倍数。

但是-A中显示的所有值都彼此不同,因此使用此方法只能基于A进行排序。

© www.soinside.com 2019 - 2024. All rights reserved.