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 的行将被划分到第三个块。如果未提供,边界将从输入块中采样。此功能目前仅支持数值列。

返回:

一个新的、已排序的 数据集