文件 | 函数
收集

文件

文件  copying.hpp
 用于收集、分散、分割、切片等的列API。
 

函数

std::unique_ptr< tablecudf::gather (table_view const &source_table, column_view const &gather_map, out_of_bounds_policy bounds_policy=out_of_bounds_policy::DONT_CHECK, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 收集指定行的列(包括空值)。 更多...
 

详细描述

函数文档

◆ gather()

std::unique_ptr<table> cudf::gather ( table_view const &  source_table,
column_view const &  gather_map,
out_of_bounds_policy  bounds_policy = out_of_bounds_policy::DONT_CHECK,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

收集指定行的列(包括空值)。

根据 gather_map 收集源列中的行,使得结果表中列的第“i”行包含源列中的第“gather_map[i]”行。结果表中的行数将等于 gather_map 中的元素数量。

gather_map 中的负值 i 被解释为 i+n,其中 nsource_table 中的行数。

对于字典列,如果收集操作导致废弃的键元素,则复制键列组件而不进行修剪。

异常
std::invalid_argument如果 gather_map 包含空值。
参数
source_table将被收集行的输入列
gather_map指向一个非空整数索引列的视图,该列将源列中的行映射到目标列中的行。
bounds_policy用于处理可能的越界索引的策略。DONT_CHECK 跳过对 gather map 值的所有边界检查。NULLIFY 将 gather map 中对应于越界索引的行强制转换为 null 元素。当调用者确定 gather_map 只包含有效索引时,应使用 DONT_CHECK 以获得更好的性能。如果策略设置为 DONT_CHECK 并且 gather map 中存在越界索引,则行为是未定义的。默认为 DONT_CHECK
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回表的设备内存的设备内存资源
返回值
收集操作的结果