python sort_values函数_Python pandas.DataFrame.sort_values函数方法的使用

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, key=None)[source]

沿任一轴按values排序。

参数:by:str 或 str的list

要排序的名称或名称列表。

1) 如果axis是0或'index',

那么by可能包含索引级别and/or列标签。

2) 如果axis是1或'columns',

那么by可能包含列级别and/or索引标签。

版本0.23.0中的更改:允许指定索引或列级名称。

axis:{0 或‘index’, 1或‘columns’}, 默认为 0

要排序的轴(axis)。

ascending:bool 或 bools的list, 默认为 True。

升序和降序排序。指定多个排序顺序的列表。

如果这是一个布尔的list,必须匹配的长度的by。

inplace:bool, 默认为 False。

如果为True,就地执行操作。

kind:{‘quicksort’, ‘mergesort’, ‘heapsort’},

默认为 ‘quicksort’

选择排序算法。有关更多信息,

请参见ndarray.np.sort。

mergesort是唯一稳定的算法。

对于DataFrames,

仅在对单个列或标签进行排序时才应用此选项。

na_position:{‘first’, ‘last’}, 默认为 ‘last’

如果首先将NaN放在开头;

最后将NaN放在最后。

ignore_index :bool, 默认为 False。

如果为True,则结果轴将标记为0、1,...,n-1。

1.0.0版的新功能。

key:callable, 可选的

在排序之前,将键函数应用于这些值。

这类似于内建函数中的key参数sorted(),

但值得注意的区别是此key函数应被向量化。

它应该期望Series并返回与输入形状相同的Series。

它将应用于by独立的每一列。

1.1.0版中的新功能。

返回值:DataFrame或None

如果inplace = False,则为具有排序值的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

你可能感兴趣的:(python,sort_values函数)