文件 | 函数
集合操作

文件

文件  set_operations.hpp
 

函数

std::unique_ptr< columncudf::lists::have_overlap (lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 检查给定列表列的每一行的列表是否重叠。 更多...
 
std::unique_ptr< columncudf::lists::intersect_distinct (lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 创建包含两个输入列表列共有唯一元素的列表列。 更多...
 
std::unique_ptr< columncudf::lists::union_distinct (lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 创建包含两个输入列表列任一列中找到的唯一元素的列表列。 更多...
 
std::unique_ptr< columncudf::lists::difference_distinct (lists_column_view const &lhs, lists_column_view const &rhs, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 创建包含仅在左侧输入列中找到的唯一元素的列表列。 更多...
 

详细描述

函数文档

◆ difference_distinct()

std::unique_ptr<column> cudf::lists::difference_distinct ( lists_column_view const &  lhs,
lists_column_view const &  rhs,
null_equality  nulls_equal = null_equality::EQUAL,
nan_equality  nans_equal = nan_equality::ALL_EQUAL,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

创建包含仅在左侧输入列中找到的唯一元素的列表列。

给定两个输入列表列 lhsrhs,将创建一个输出列表列,使其每行 i 包含一个列表,该列表由可在 lhs[i] 中找到但不在 rhs[i] 中的唯一元素构成。

输出行中唯一元素的顺序未指定。

输入列表列中任一行的空值将导致输出行为空值。

异常
cudf::logic_error如果输入列表列的大小不同。
cudf::logic_error如果输入列表列的子列具有不同的数据类型。

示例

lhs = { {2, 1, 2}, {1, 2, 3}, null, {4, null, 5} }
rhs = { {1, 2, 3}, {4, 5}, {null, 7, 8}, {null, null} }
result = { {}, {1, 2, 3}, null, {4, 5} }
参数
lhs可能包含元素的输入列表列
rhs要排除元素的输入列表列
nulls_equal指定空元素是否应被视为相等的标志
nans_equal指定浮点 NaN 是否应被视为相等的标志
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回对象的设备内存资源
返回值
包含差集结果的列表列

◆ have_overlap()

std::unique_ptr<column> cudf::lists::have_overlap ( lists_column_view const &  lhs,
lists_column_view const &  rhs,
null_equality  nulls_equal = null_equality::EQUAL,
nan_equality  nans_equal = nan_equality::ALL_EQUAL,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

检查给定列表列的每一行的列表是否重叠。

给定两个输入列表列,检查一列中的每个列表行是否与另一列的对应行有任何共同元素。

输入列表列中任一行的空值将导致输出行为空值。

异常
cudf::logic_error如果输入列表列的大小不同。
cudf::logic_error如果输入列表列的子列具有不同的数据类型。

示例

lhs = { {0, 1, 2}, {1, 2, 3}, null, {4, null, 5} }
rhs = { {1, 2, 3}, {4, 5}, {null, 7, 8}, {null, null} }
result = { true, false, null, true }
参数
lhs一侧的输入列表列
rhs另一侧的输入列表列
nulls_equal指定空元素是否应被视为相等的标志,默认为 UNEQUAL,表示仅检查非空元素的重叠性
nans_equal指定浮点 NaN 是否应被视为相等的标志
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回对象的设备内存资源
返回值
包含检查结果的 BOOL 类型列

◆ intersect_distinct()

std::unique_ptr<column> cudf::lists::intersect_distinct ( lists_column_view const &  lhs,
lists_column_view const &  rhs,
null_equality  nulls_equal = null_equality::EQUAL,
nan_equality  nans_equal = nan_equality::ALL_EQUAL,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

创建包含两个输入列表列共有唯一元素的列表列。

给定两个输入列表列 lhsrhs,将创建一个输出列表列,使其每行 i 包含一个列表,该列表由可在 lhs[i]rhs[i] 中都找到的唯一元素构成。

输出行中唯一元素的顺序未指定。

输入列表列中任一行的空值将导致输出行为空值。

异常
cudf::logic_error如果输入列表列的大小不同。
cudf::logic_error如果输入列表列的子列具有不同的数据类型。

示例

lhs = { {2, 1, 2}, {1, 2, 3}, null, {4, null, 5} }
rhs = { {1, 2, 3}, {4, 5}, {null, 7, 8}, {null, null} }
result = { {1, 2}, {}, null, {null} }
参数
lhs一侧的输入列表列
rhs另一侧的输入列表列
nulls_equal指定空元素是否应被视为相等的标志
nans_equal指定浮点 NaN 是否应被视为相等的标志
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回对象的设备内存资源
返回值
包含交集结果的列表列

◆ union_distinct()

std::unique_ptr<column> cudf::lists::union_distinct ( lists_column_view const &  lhs,
lists_column_view const &  rhs,
null_equality  nulls_equal = null_equality::EQUAL,
nan_equality  nans_equal = nan_equality::ALL_EQUAL,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

创建包含两个输入列表列任一列中找到的唯一元素的列表列。

给定两个输入列表列 lhsrhs,将创建一个输出列表列,使其每行 i 包含一个列表,该列表由可在 lhs[i]rhs[i] 中找到的唯一元素构成。

输出行中唯一元素的顺序未指定。

输入列表列中任一行的空值将导致输出行为空值。

异常
cudf::logic_error如果输入列表列的大小不同。
cudf::logic_error如果输入列表列的子列具有不同的数据类型。

示例

lhs = { {2, 1, 2}, {1, 2, 3}, null, {4, null, 5} }
rhs = { {1, 2, 3}, {4, 5}, {null, 7, 8}, {null, null} }
result = { {1, 2, 3}, {1, 2, 3, 4, 5}, null, {4, null, 5} }
参数
lhs一侧的输入列表列
rhs另一侧的输入列表列
nulls_equal指定空元素是否应被视为相等的标志
nans_equal指定浮点 NaN 是否应被视为相等的标志
stream用于设备内存操作和内核启动的 CUDA 流
mr用于分配返回对象的设备内存资源
返回值
包含并集结果的列表列