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