maxframe.dataframe.DataFrame.sort_values#

DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last', ignore_index=False, parallel_kind='PSRS', psrs_kinds=None, default_index_type=None)#

按值沿任一轴排序。

参数:
  • df (MaxFrame DataFrame) -- 输入的 DataFrame。

  • by (str) -- 用于排序的列名或列名列表。

  • axis (%(axes_single_arg)s, default 0) -- 要排序的轴。

  • ascending (bool or list of bool, default True) -- 升序或降序排序。若指定多个排序顺序,请提供列表。如果这是一个布尔值列表,则必须与 by 的长度一致。

  • inplace (bool, default False) -- 如果为 True,则就地执行操作。

  • kind ({'quicksort', 'mergesort', 'heapsort'}, default 'quicksort') -- 排序算法的选择。更多信息请参见 ndarray.np.sort。mergesort 是唯一的稳定算法。对于 DataFrame,此选项仅在按单个列或标签排序时应用。

  • na_position ({'first', 'last'}, default 'last') -- 如果为 first,则将 NaN 值放在开头;last 将 NaN 值放在结尾。

  • ignore_index (bool, default False) -- 如果为 True,则结果轴的标签将为 0, 1, ..., n - 1。

  • parallel_kind ({'PSRS'}, default 'PSRS') -- 并行排序算法,详细信息请参考:http://csweb.cs.wfu.edu/bigiron/LittleFE-PSRS/build/html/PSRSalgorithm.html

返回:

sorted_obj -- 如果 inplace=False,则返回按值排序的 DataFrame,否则返回 None。

返回类型:

DataFrame or None

示例

>>> import maxframe.dataframe as md
>>> df = md.DataFrame({
...     'col1': ['A', 'A', 'B', np.nan, 'D', 'C'],
...     'col2': [2, 1, 9, 8, 7, 4],
...     'col3': [0, 1, 9, 4, 2, 3],
... })
>>> df.execute()
    col1 col2 col3
0   A    2    0
1   A    1    1
2   B    9    9
3   NaN  8    4
4   D    7    2
5   C    4    3

按 col1 排序

>>> df.sort_values(by=['col1']).execute()
    col1 col2 col3
0   A    2    0
1   A    1    1
2   B    9    9
5   C    4    3
4   D    7    2
3   NaN  8    4

按多个列排序

>>> df.sort_values(by=['col1', 'col2']).execute()
    col1 col2 col3
1   A    1    1
0   A    2    0
2   B    9    9
5   C    4    3
4   D    7    2
3   NaN  8    4

降序排序

>>> df.sort_values(by='col1', ascending=False).execute()
    col1 col2 col3
4   D    7    2
5   C    4    3
2   B    9    9
0   A    2    0
1   A    1    1
3   NaN  8    4