列表填充#

group Filling

函数

std::unique_ptr<column> sequences(column_view const &starts, column_view const &sizes, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建一个列表列,其中每一行包含由 (start, size) 参数组成的元组指定的序列值。

创建一个列表列,其中每一行是一个序列,序列值从 start 值开始,按一递增,并且其基数由 size 值指定。用于生成每个列表的 startsize 值取自输入 startssizes 列的相应行。

  • sizes 必须是整数类型的列。

  • 所有输入列都不能包含空值。

  • 如果 sizes 列的任何行包含负值,则输出未定义。

starts = [0, 1, 2, 3, 4]
sizes  = [0, 2, 2, 1, 3]

output = [ [], [1, 2], [2, 3], [3], [4, 5, 6] ]
抛出:
  • cudf::logic_error – 如果 sizes 列不是整数类型。

  • cudf::logic_error – 如果任何输入列包含空值。

  • cudf::logic_error – 如果 startssizes 列大小不同。

  • std::overflow_error – 如果输出列超出列大小限制。

参数:
  • starts – 结果序列中的起始值。

  • sizes – 结果序列中的值数量。

  • stream – 用于设备内存操作和内核启动的 CUDA 流。

  • mr – 用于分配返回列的设备内存的设备内存资源。

返回:

包含生成的序列的结果列。

std::unique_ptr<column> sequences(column_view const &starts, column_view const &steps, column_view const &sizes, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

创建一个列表列,其中每一行包含由 (start, step, size) 参数组成的元组指定的序列值。

创建一个列表列,其中每一行是一个序列,序列值从 start 值开始,按 step 值递增,并且其基数由 size 值指定。用于生成每个列表的 startstepsize 值取自输入 startsstepssizes 列的相应行。

  • sizes 必须是整数类型的列。

  • startssteps 列必须具有相同的类型。

  • 所有输入列都不能包含空值。

  • 如果 sizes 列的任何行包含负值,则输出未定义。

starts = [0, 1, 2, 3, 4]
steps  = [2, 1, 1, 1, -3]
sizes  = [0, 2, 2, 1, 3]

output = [ [], [1, 2], [2, 3], [3], [4, 1, -2] ]
抛出:
  • cudf::logic_error – 如果 sizes 列不是整数类型。

  • cudf::logic_error – 如果任何输入列包含空值。

  • cudf::logic_error – 如果 startssteps 列具有不同的类型。

  • cudf::logic_error – 如果 startsstepssizes 列大小不同。

  • std::overflow_error – 如果输出列超出列大小限制。

参数:
  • starts – 结果序列中的起始值。

  • steps – 结果序列的增量值。

  • sizes – 结果序列中的值数量。

  • stream – 用于设备内存操作和内核启动的 CUDA 流。

  • mr – 用于分配返回列的设备内存的设备内存资源。

返回:

包含生成的序列的结果列。