libcudf  24.04.00
Classes | Namespaces | Enumerations | Functions
aggregation.hpp File Reference

Representation for specifying desired aggregations from aggregation-based APIs, e.g., groupby, reductions, rolling, etc. More...

#include <cudf/types.hpp>
#include <functional>
#include <memory>
#include <vector>

Go to the source code of this file.

Classes

class  cudf::aggregation
 Abstract base class for specifying the desired aggregation in an aggregation_request. More...
 
class  cudf::rolling_aggregation
 Derived class intended for rolling_window specific aggregation usage. More...
 
class  cudf::groupby_aggregation
 Derived class intended for groupby specific aggregation usage. More...
 
class  cudf::groupby_scan_aggregation
 Derived class intended for groupby specific scan usage. More...
 
class  cudf::reduce_aggregation
 Derived class intended for reduction usage. More...
 
class  cudf::scan_aggregation
 Derived class intended for scan usage. More...
 
class  cudf::segmented_reduce_aggregation
 Derived class intended for segmented reduction usage. More...
 

Namespaces

 cudf
 cuDF interfaces
 

Enumerations

enum class  cudf::rank_method : int32_t {
  cudf::FIRST , cudf::AVERAGE , cudf::MIN , cudf::MAX ,
  cudf::DENSE
}
 Tie-breaker method to use for ranking the column. More...
 
enum class  cudf::rank_percentage : int32_t { cudf::NONE , cudf::ZERO_NORMALIZED , cudf::ONE_NORMALIZED }
 Whether returned rank should be percentage or not and mention the type of percentage normalization. More...
 
enum class  cudf::udf_type : bool { CUDA , PTX }
 Type of code in the user defined function string.
 
enum class  cudf::correlation_type : int32_t { PEARSON , KENDALL , SPEARMAN }
 Type of correlation method.
 

Functions

template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_sum_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_product_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_min_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_max_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_count_aggregation (null_policy null_handling=null_policy::EXCLUDE)
 Factory to create a COUNT aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_any_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_all_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_histogram_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_sum_of_squares_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_mean_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_m2_aggregation ()
 Factory to create a M2 aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_variance_aggregation (size_type ddof=1)
 Factory to create a VARIANCE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_std_aggregation (size_type ddof=1)
 Factory to create a STD aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_median_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_quantile_aggregation (std::vector< double > const &quantiles, interpolation interp=interpolation::LINEAR)
 Factory to create a QUANTILE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_argmax_aggregation ()
 Factory to create an ARGMAX aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_argmin_aggregation ()
 Factory to create an ARGMIN aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_nunique_aggregation (null_policy null_handling=null_policy::EXCLUDE)
 Factory to create a NUNIQUE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_nth_element_aggregation (size_type n, null_policy null_handling=null_policy::INCLUDE)
 Factory to create a NTH_ELEMENT aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_row_number_aggregation ()
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_rank_aggregation (rank_method method, order column_order=order::ASCENDING, null_policy null_handling=null_policy::EXCLUDE, null_order null_precedence=null_order::AFTER, rank_percentage percentage=rank_percentage::NONE)
 Factory to create a RANK aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_collect_list_aggregation (null_policy null_handling=null_policy::INCLUDE)
 Factory to create a COLLECT_LIST aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_collect_set_aggregation (null_policy null_handling=null_policy::INCLUDE, null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL)
 Factory to create a COLLECT_SET aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_lag_aggregation (size_type offset)
 Factory to create a LAG aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_lead_aggregation (size_type offset)
 Factory to create a LEAD aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_udf_aggregation (udf_type type, std::string const &user_defined_aggregator, data_type output_type)
 Factory to create an aggregation base on UDF for PTX or CUDA. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_merge_lists_aggregation ()
 Factory to create a MERGE_LISTS aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_merge_sets_aggregation (null_equality nulls_equal=null_equality::EQUAL, nan_equality nans_equal=nan_equality::ALL_EQUAL)
 Factory to create a MERGE_SETS aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_merge_m2_aggregation ()
 Factory to create a MERGE_M2 aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_merge_histogram_aggregation ()
 Factory to create a MERGE_HISTOGRAM aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_covariance_aggregation (size_type min_periods=1, size_type ddof=1)
 Factory to create a COVARIANCE aggregation. More...
 
template<typename Base = aggregation>
std::unique_ptr< Base > cudf::make_correlation_aggregation (correlation_type type, size_type min_periods=1)
 Factory to create a CORRELATION aggregation. More...
 
template<typename Base >
std::unique_ptr< Base > cudf::make_tdigest_aggregation (int max_centroids=1000)
 Factory to create a TDIGEST aggregation. More...
 
template<typename Base >
std::unique_ptr< Base > cudf::make_merge_tdigest_aggregation (int max_centroids=1000)
 Factory to create a MERGE_TDIGEST aggregation. More...
 

Detailed Description

Representation for specifying desired aggregations from aggregation-based APIs, e.g., groupby, reductions, rolling, etc.

Note
Not all aggregation APIs support all aggregation operations. See individual function documentation to see what aggregations are supported.

Definition in file aggregation.hpp.