我想以升序对数据框中的所有列进行独立排序。我的数据框如下:
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'。
我必须在每列上循环吗?
有更简单的方法吗?我看过排序手册,但无法弄清楚。
谢谢
您的代码有效-但是排序的工作方式是分层的,如果A列中的每个值都不相同,那么它将首先对A列进行排序。然后,对于存在以下情况的所有实例,它将对B列进行排序仅当存在A和B相同但C不同的情况下,C才是A中相同值的倍数。
但是-A中显示的所有值都彼此不同,因此使用此方法只能基于A进行排序。