标记分箱#
- 组 分箱 标记
-
函数
-
std::unique_ptr<column> label_bins(column_view const &input, column_view const &left_edges, inclusive left_inclusive, column_view const &right_edges, inclusive right_inclusive, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#
根据元素在指定分箱中的归属来标记元素。
分箱
i
由left_edges[i], right_edges[i]
定义。边界是否包含由left_inclusive
和right_inclusive
分别确定。如果
value[j]
包含在范围left_edges[i], right_edges[i]
中(具有指定的包含性)并且label[j] == i
,则值input[j]
属于分箱i
。如果input[j]
不属于任何分箱,则label[j]
为 NULL。注意事项
如果提供了空的边界集,则
input
中的所有元素都标记为 NULL。input
中的 NULL 元素不属于任何分箱,其对应的标记为 NULL。input
中的 NaN 元素不属于任何分箱,其对应的标记为 NULL。必须按单调递增顺序提供分箱,否则行为未定义。
如果两个或多个分箱重叠,行为未定义。
- 抛出:
cudf::logic_error – 如果违反了
input.type() == left_edges.type() == right_edges.type()
。cudf::logic_error – 如果
left_edges.size() != right_edges.size()
cudf::logic_error – 如果
left_edges.has_nulls()
或right_edges.has_nulls()
- 参数:
input – 根据指定分箱标记的输入元素。
left_edges – 每个分箱左边界的值。
left_inclusive – 左边界是否包含。
right_edges – 每个分箱右边界的值。
right_inclusive – 右边界是否包含。
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列设备内存的设备内存资源。
- 返回:
根据指定分箱,
input
中元素的整数标记。
-
std::unique_ptr<column> label_bins(column_view const &input, column_view const &left_edges, inclusive left_inclusive, column_view const &right_edges, inclusive right_inclusive, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#