pandas.dataframe 排序

对dataframe所有的行排序,
PS:不是指定行排序........

你说的是所有列?排序默认就是全部行啊。

df.sort_values(by=['列名1','列名2'])

注意,这里是先按照第一列排序,如果第一列相同,再按照第二列排列

1/默认的是什么。by=None吗
2/如果只希望排序的列改变,其他列不做改变,怎么做

你的意思是割裂每一行?比如
6 8
3 2
4 6
1 5
排序后成为
1 8
3 2
4 6
6 5
这样么?

LZ可以先将dataframe转换成array,对array进行按行排序,然后再把array转回dataframe
import pandas as pd

frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]])
array = frame.values
array.sort(axis=1)
frame2 = pd.DataFrame(array)

图片说明