ray.data.Dataset.sort#
- Dataset.sort(key: str | List[str] | None = None, descending: bool | List[bool] = False, boundaries: List[int | float] = None) Dataset [源代码]#
按指定的键列或键函数对数据集进行排序。
备注
descending
参数必须是布尔值,或者是布尔值列表。如果它是一个列表,列表中的所有项必须共享相同的方向。尚不支持多方向排序。备注
此操作要求所有输入在对象存储中具体化,以便执行。
示例
>>> import ray >>> ds = ray.data.range(15) >>> ds = ds.sort("id", descending=False, boundaries=[5, 10]) >>> for df in ray.get(ds.to_pandas_refs()): ... print(df) id 0 0 1 1 2 2 3 3 4 4 id 0 5 1 6 2 7 3 8 4 9 id 0 10 1 11 2 12 3 13 4 14
时间复杂度:O(数据集大小 * log(数据集大小 / 并行度))
- 参数:
key – 要排序的列或列的列表。
descending – 是否按降序排序。必须是一个布尔值或与列数匹配的布尔值列表。
boundaries – 基于此列表的值对数据集进行重新分区。例如,如果输入边界是 [10,20],值小于 10 的行将被划分到第一个块,值大于或等于 10 且小于 20 的行将被划分到第二个块,值大于或等于 20 的行将被划分到第三个块。如果未提供,边界将从输入块中采样。此功能目前仅支持数值列。
- 返回:
一个新的、已排序的
数据集
。