transform.hpp
前往此文件的文档。
1 /*
2  * Copyright (c) 2019-2025, NVIDIA CORPORATION.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * https://apache.ac.cn/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 #include <cudf/ast/expressions.hpp>
20 #include <cudf/types.hpp>
21 #include <cudf/utilities/export.hpp>
23 
24 #include <memory>
25 
26 namespace CUDF_EXPORT cudf {
58 std::unique_ptr<column> transform(
59  std::vector<column_view> const& inputs,
60  std::string const& transform_udf,
61  data_type output_type,
62  bool is_ptx,
65 
78 std::pair<std::unique_ptr<rmm::device_buffer>, size_type> nans_to_nulls(
79  column_view const& input,
82 
97 std::unique_ptr<column> compute_column(
98  table_view const& table,
99  ast::expression const& expr,
102 
119 std::pair<std::unique_ptr<rmm::device_buffer>, cudf::size_type> bools_to_mask(
120  column_view const& input,
123 
149 std::pair<std::unique_ptr<cudf::table>, std::unique_ptr<cudf::column>> encode(
150  cudf::table_view const& input,
153 
182 std::pair<std::unique_ptr<column>, table_view> one_hot_encode(
183  column_view const& input,
184  column_view const& categories,
187 
210 std::unique_ptr<column> mask_to_bools(
211  bitmask_type const* bitmask,
212  size_type begin_bit,
213  size_type end_bit,
216 
243 std::unique_ptr<column> row_bit_count(
244  table_view const& t,
247 
267 std::unique_ptr<column> segmented_row_bit_count(
268  table_view const& t,
269  size_type segment_length,
272  // end of group
274 } // namespace CUDF_EXPORT cudf
设备数据的非拥有、不可变视图,表示为元素列,其中某些元素可能为空...
指示列中元素的逻辑数据类型。
一组大小相同的 cudf::column_view。
一组大小相同的 cudf::column。
定义: table.hpp:40
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
std::pair< std::unique_ptr< cudf::table >, std::unique_ptr< cudf::column > > encode(cudf::table_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
将给定表的行编码为整数。
std::unique_ptr< column > row_bit_count(table_view const &t, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
返回 table_view 中每行所有列的近似累积位大小。
std::pair< std::unique_ptr< rmm::device_buffer >, cudf::size_type > bools_to_mask(column_view const &input, 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< column >, table_view > one_hot_encode(column_view const &input, column_view const &categories, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
通过为 categories 中的每个值生成一个新列来编码输入,指示该值是否存在...
std::unique_ptr< column > mask_to_bools(bitmask_type const *bitmask, size_type begin_bit, size_type end_bit, 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< rmm::device_buffer >, size_type > nans_to_nulls(column_view const &input, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
通过将 NaN 转换为 null 并保留现有 null 值,从输入创建 null 掩码,同时...
std::unique_ptr< column > compute_column(table_view const &table, ast::expression const &expr, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
通过在表上评估表达式树来计算新列。
std::unique_ptr< column > segmented_row_bit_count(table_view const &t, size_type segment_length, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
返回 table_view 中每个行段所有列的近似累积位大小...
std::unique_ptr< column > transform(std::vector< column_view > const &inputs, std::string const &transform_udf, data_type output_type, bool is_ptx, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
通过对输入列的每个元素应用转换函数来创建新列。
int32_t size_type
列和表的行索引类型。
定义: types.hpp:95
uint32_t bitmask_type
存储为 32 位无符号整数的位掩码类型。
定义: types.hpp:96
cuDF 接口
可以评估以返回值值的通用表达式。
libcudf 的类型声明。