DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None) [source]
沿任一轴按values排序。
| 参数: | by: 要排序的名称或名称列表。 1) 如果axis是 那么by可能包含索引级别and/or列标签。 2) 如果axis是 那么by可能包含列级别and/or索引标签。 版本0.23.0中的更改:允许指定索引或列级名称。 axis : 要排序的轴(axis)。 ascending : 升序和降序排序。指定多个排序顺序的列表。 如果这是一个布尔的list,必须匹配的长度的by。 inplace : 如果为 kind :  默认为  选择排序算法。有关更多信息, 请参见 
 对于 仅在对单个列或标签进行排序时才应用此选项。 na_position : 如果首先将 最后将 ignore_index : 如果为 1.0.0版的新功能。 key: 在排序之前,将键函数应用于这些值。 这类似于内建函数中的 但值得注意的区别是此key函数应被向量化。 它应该期望Series并返回与输入形状相同的Series。 它将应用于by独立的每一列。 1.1.0版中的新功能。 | 
| 返回值: | DataFrame或None 如果 | 
例子
>>> df = pd.DataFrame({
...     'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],
...     'col2': [2, 1, 9, 8, 7, 4],
...     'col3': [0, 1, 9, 4, 2, 3],
...     'col4': ['a', 'B', 'c', 'D', 'e', 'F']
... })
>>> df
  col1  col2  col3 col4
0    A     2     0    a
1    A     1     1    B
2    B     9     9    c
3  NaN     8     4    D
4    D     7     2    e
5    C     4     3    F按col1排序
>>> df.sort_values(by=['col1']) col1 col2 col3 col4 0 A 2 0 a 1 A 1 1 B 2 B 9 9 c 5 C 4 3 F 4 D 7 2 e 3 NaN 8 4 D
按多列排序
>>> df.sort_values(by=['col1', 'col2']) col1 col2 col3 col4 1 A 1 1 B 0 A 2 0 a 2 B 9 9 c 5 C 4 3 F 4 D 7 2 e 3 NaN 8 4 D
降序排列
>>> df.sort_values(by='col1', ascending=False) col1 col2 col3 col4 4 D 7 2 e 5 C 4 3 F 2 B 9 9 c 0 A 2 0 a 1 A 1 1 B 3 NaN 8 4 D
将NA放在首位
>>> df.sort_values(by='col1', ascending=False, na_position='first') col1 col2 col3 col4 3 NaN 8 4 D 4 D 7 2 e 5 C 4 3 F 2 B 9 9 c 0 A 2 0 a 1 A 1 1 B
按键功能排序
>>> df.sort_values(by='col4', key=lambda col: col.str.lower()) col1 col2 col3 col4 0 A 2 0 a 1 A 1 1 B 2 B 9 9 c 3 NaN 8 4 D 4 D 7 2 e 5 C 4 3 F