Python 如何按索引对数据帧进行排序?

Python 如何按索引对数据帧进行排序?,python,pandas,Python,Pandas,当存在如下所示的数据帧时: import pandas as pd df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A']) 如何在索引和列值的每个组合都保持不变的情况下,按索引对该数据帧进行排序?数据帧有一个sort\u index方法,默认情况下会返回一个副本。通过inplace=True就地操作 import pandas as pd df = pd.DataFrame([1, 2, 3

当存在如下所示的数据帧时:

import pandas as pd
df = pd.DataFrame([1, 1, 1, 1, 1], index=[100, 29, 234, 1, 150], columns=['A'])

如何在索引和列值的每个组合都保持不变的情况下,按索引对该数据帧进行排序?

数据帧有一个
sort\u index
方法,默认情况下会返回一个副本。通过
inplace=True
就地操作

import pandas as pd
df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df.sort_index(inplace=True)
print(df.to_string())
给我:

     A
1    4
29   2
100  1
150  5
234  3
稍微紧凑一些:

df = pd.DataFrame([1, 2, 3, 4, 5], index=[100, 29, 234, 1, 150], columns=['A'])
df = df.sort_index()
print(df)
注:

  • sort
    已被弃用,在这种情况下被
    sort\u index
    取代
  • 最好不要使用
    in-place
    ,因为它通常更难读取并防止链接。请参见此处答案中的说明:
.sort()
docstring说
不推荐使用:使用DataFrame.sort\u values()
@endolith确实
.sort()不推荐使用。正如Paul H在他的答案中所使用的那样,替换将是
.sort_index()
,在这种情况下,我们答案之间的唯一区别是我没有使用
inplace=True