24 #include <cudf/utilities/export.hpp>
34 namespace CUDF_EXPORT
cudf {
39 struct sort_groupby_helper;
77 std::vector<std::unique_ptr<groupby_scan_aggregation>>
aggregations;
89 std::vector<std::unique_ptr<column>> results{};
129 sorted keys_are_sorted = sorted::NO,
130 std::vector<order>
const& column_order = {},
131 std::vector<null_order>
const& null_precedence = {});
187 std::pair<std::unique_ptr<table>, std::vector<aggregation_result>>
aggregate(
243 std::pair<std::unique_ptr<table>, std::vector<aggregation_result>>
scan(
299 std::pair<std::unique_ptr<table>, std::unique_ptr<table>>
shift(
302 std::vector<std::reference_wrapper<scalar const>>
const& fill_values,
381 null_policy _include_null_keys{null_policy::EXCLUDE};
383 sorted _keys_are_sorted{sorted::NO};
384 std::vector<order> _column_order{};
386 std::vector<null_order> _null_precedence{};
389 std::unique_ptr<detail::sort::sort_groupby_helper>
399 detail::sort::sort_groupby_helper& helper();
405 std::pair<std::unique_ptr<table>, std::vector<aggregation_result>> dispatch_aggregation(
406 host_span<aggregation_request const> requests,
411 std::pair<std::unique_ptr<table>, std::vector<aggregation_result>> sort_aggregate(
412 host_span<aggregation_request const> requests,
416 std::pair<std::unique_ptr<table>, std::vector<aggregation_result>> sort_scan(
417 host_span<scan_request const> requests,
用于指定基于聚合的 API 所需聚合的表示形式,例如...
作为元素列的设备数据的非拥有、不可变视图,其中一些元素可能为 null,如指示的那样...
std::pair< std::unique_ptr< table >, std::vector< aggregation_result > > scan(host_span< scan_request const > requests, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
对指定的值执行分组扫描。
std::pair< std::unique_ptr< table >, std::unique_ptr< table > > replace_nulls(table_view const &values, host_span< cudf::replace_policy const > replace_policies, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
对值执行分组替换 null 值操作。
std::pair< std::unique_ptr< table >, std::unique_ptr< table > > shift(table_view const &values, host_span< size_type const > offsets, std::vector< std::reference_wrapper< scalar const >> const &fill_values, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
对指定的值执行分组位移。
groupby(table_view const &keys, null_policy null_handling=null_policy::EXCLUDE, sorted keys_are_sorted=sorted::NO, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={})
使用指定的键构造一个 groupby 对象
std::pair< std::unique_ptr< table >, std::vector< aggregation_result > > aggregate(host_span< aggregation_request const > requests, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
对指定的值执行分组聚合。
groups get_groups(cudf::table_view values={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
获取对一组值进行 groupby 操作后对应的分组键和值。
一组大小相同的 cudf::column_view。
std::unique_ptr< table > sort(table_view const &input, std::vector< order > const &column_order={}, std::vector< null_order > const &null_precedence={}, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
对表的行执行字典序排序。
rmm::cuda_stream_view const get_default_stream()
获取当前默认流。
rmm::device_async_resource_ref get_current_device_resource_ref()
获取当前设备内存资源引用。
cuda::mr::async_resource_ref< cuda::mr::device_accessible > device_async_resource_ref
null_policy
指定是否包含 null 值或排除 null 值的枚举类型。
std::vector< std::unique_ptr< groupby_aggregation > > aggregations
所需的聚合操作。
column_view values
要聚合的元素。
一个 aggregation_request 的结果。
对一组值进行 groupby 操作对应的分组数据。
std::unique_ptr< table > keys
分组后的键表。
std::vector< size_type > offsets
组偏移量。
std::unique_ptr< table > values
分组后的值表。
column_view values
要聚合的元素。
std::vector< std::unique_ptr< groupby_scan_aggregation > > aggregations
所需的聚合操作。
具有精简功能集的 C++20 std::span。
(mutable)_table_view 的类定义