列表填充#

group lists_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值开始,每次递增1的值的序列,其基数由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] ]
Throws:
  • cudf::logic_error – 如果 sizes 列不是整数类型。

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

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

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

Parameters:
  • starts – 结果序列中的第一个值。

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

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

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

Returns:

包含生成序列的结果列。

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] ]
Throws:
  • cudf::logic_error – 如果 sizes 列不是整数类型。

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

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

  • cudf::logic_error – 如果 starts, steps, 和 sizes 列的大小不相同。

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

Parameters:
  • starts – 结果序列中的第一个值。

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

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

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

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

Returns:

包含生成序列的结果列。