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
。