文件 | 枚举 | 函数
一元操作

文件

文件  round.hpp
 round 的列 API。
 
文件  unary.hpp
 一元操作的列 API。
 

枚举

enum class  cudf::rounding_method : int32_t { HALF_UP , HALF_EVEN }
 `cudf::round` 的不同舍入方法更多...
 
enum class  cudf::unary_operator : int32_t {
  cudf::SIN , cudf::COS , cudf::TAN , cudf::ARCSIN ,
  cudf::ARCCOS , cudf::ARCTAN , cudf::SINH , cudf::COSH ,
  cudf::TANH , cudf::ARCSINH , cudf::ARCCOSH , cudf::ARCTANH ,
  cudf::EXP , cudf::LOG , cudf::SQRT , cudf::CBRT ,
  cudf::CEIL , cudf::FLOOR , cudf::ABS , cudf::RINT ,
  cudf::BIT_INVERT , cudf::NOT , cudf::NEGATE
}
 可对数据执行的一元操作类型。更多...
 

函数

std::unique_ptr< columncudf::round (column_view const &input, int32_t decimal_places=0, rounding_method method=rounding_method::HALF_UP, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有值舍入到指定的小数位数。更多...
 
template<typename Fixed , typename Floating , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating > &&is_fixed_point< Fixed >()) >
CUDF_HOST_DEVICE Fixed cudf::convert_floating_to_fixed (Floating floating, numeric::scale_type scale)
 将浮点值转换为定点。更多...
 
template<typename Floating , typename Fixed , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating > &&is_fixed_point< Fixed >()) >
CUDF_HOST_DEVICE Floating cudf::convert_fixed_to_floating (Fixed fixed)
 将定点值转换为浮点。更多...
 
template<typename Floating , typename Input , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating >) >
CUDF_HOST_DEVICE Floating cudf::convert_to_floating (Input input)
 将值转换为浮点。更多...
 
std::unique_ptr< cudf::columncudf::unary_operation (cudf::column_view const &input, cudf::unary_operator op, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 对列中的所有值执行一元操作。更多...
 
std::unique_ptr< cudf::columncudf::is_null (cudf::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())
 创建一个 `type_id::BOOL8` 元素的列,其中 `input` 中每个元素对应的 `true` 表示值为空,`false` 表示值有效。更多...
 
std::unique_ptr< cudf::columncudf::is_valid (cudf::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())
 创建一个 `type_id::BOOL8` 元素的列,其中 `input` 中每个元素对应的 `true` 表示值有效,`false` 表示值为空。更多...
 
std::unique_ptr< columncudf::cast (column_view const &input, data_type out_type, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将输入中指定数据类型的数据转换为输出中指定数据类型。更多...
 
bool cudf::is_supported_cast (data_type from, data_type to) noexcept
 检查是否支持两种数据类型之间的转换。更多...
 
std::unique_ptr< columncudf::is_nan (cudf::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())
 创建一个 `type_id::BOOL8` 元素的列,指示浮点值列中是否存在 `NaN` 值。输出中行 `i` 的元素为 `true`,如果 `input` 中行 i 的元素是 `NAN`,否则为 `false`更多...
 
std::unique_ptr< columncudf::is_not_nan (cudf::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())
 创建一个 `type_id::BOOL8` 元素的列,指示浮点值列中不存在 `NaN` 值。输出中行 `i` 的元素为 `false`,如果 `input` 中行 i 的元素是 `NAN`,否则为 `true`更多...
 

详细描述

枚举类型文档

◆ rounding_method

enum cudf::rounding_method : int32_t

`cudf::round` 的不同舍入方法

HALF_EVEN 舍入信息: https://en.wikipedia.org/wiki/Rounding#Rounding_half_to_even HALF_UP 舍入信息: https://en.wikipedia.org/wiki/Rounding#Rounding_half_away_from_zero 注意:HALF_UP 指朝向*幅值*增大方向:远离零!这是因为 Java 和 Python 的定义方式。

定义在行 40 文件 round.hpp

◆ unary_operator

enum cudf::unary_operator : int32_t

可对数据执行的一元操作类型。

枚举成员
SIN 

三角正弦。

COS 

三角余弦。

TAN 

三角正切。

ARCSIN 

反三角正弦。

ARCCOS 

反三角余弦。

ARCTAN 

反三角正切。

SINH 

双曲正弦。

COSH 

双曲余弦。

TANH 

双曲正切。

ARCSINH 

反双曲正弦。

ARCCOSH 

反双曲余弦。

ARCTANH 

反双曲正切。

EXP 

指数 (底为 e,欧拉数)

LOG 

自然对数 (底为 e)

SQRT 

平方根 (x^0.5)

CBRT 

立方根 (x^(1.0/3))

CEIL 

不小于 arg 的最小整数值。

FLOOR 

不大于 arg 的最大整数值

ABS 

绝对值。

RINT 

将浮点参数 arg 舍入为整数值。

BIT_INVERT 

按位非 (~)

NOT 

逻辑非 (!)

NEGATE 

一元取反 (-),仅适用于有符号数值和持续时间类型。

定义在行 119 文件 unary.hpp

函数文档

◆ cast()

std::unique_ptr<column> cudf::cast ( column_view const &  input,
data_type  out_type,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将输入中指定数据类型的数据转换为输出中指定数据类型。

仅支持固定宽度类型。

参数
input输入列
out_type输出列的期望数据类型
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
大小与 `input` 相同、包含 cast 操作结果的列
异常
cudf::logic_error如果 `out_type` 不是固定宽度类型

◆ convert_fixed_to_floating()

template<typename Floating , typename Fixed , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating > &&is_fixed_point< Fixed >()) >
CUDF_HOST_DEVICE Floating cudf::convert_fixed_to_floating ( Fixed  fixed)

将定点值转换为浮点。

注意
此转换已从定点成员函数移至自由函数。这样做是为了避免将复杂的转换代码包含到不需要它的许多代码部分中,并且使这些转换发生的位置更明显。
模板参数
Floating要转换为的浮点类型
Fixed要从其转换的定点类型
参数
fixed要转换的定点值
返回值
转换后的浮点值

定义在行 84 文件 unary.hpp

◆ convert_floating_to_fixed()

template<typename Fixed , typename Floating , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating > &&is_fixed_point< Fixed >()) >
CUDF_HOST_DEVICE Fixed cudf::convert_floating_to_fixed ( Floating  floating,
numeric::scale_type  scale 
)

将浮点值转换为定点。

注意
此转换已从定点成员函数移至自由函数。这样做是为了避免将复杂的转换代码包含到不需要它的许多代码部分中,并且使这些转换发生的位置更明显。
模板参数
Fixed要转换为的定点类型
Floating要从其转换的浮点类型
参数
floating要转换的浮点值
scale定点值的期望 scale
返回值
转换后的定点值

定义在行 54 文件 unary.hpp

◆ convert_to_floating()

template<typename Floating , typename Input , CUDF_ENABLE_IF(cuda::std::is_floating_point_v< Floating >) >
CUDF_HOST_DEVICE Floating cudf::convert_to_floating ( Input  input)

将值转换为浮点。

模板参数
Floating要转换为的浮点类型
Input要从其转换的输入类型
参数
input要转换的输入值
返回值
转换后的浮点值

定义在行 107 文件 unary.hpp

◆ is_nan()

创建一个 `type_id::BOOL8` 元素的列,指示浮点值列中是否存在 `NaN` 值。输出中行 `i` 的元素为 `true`,如果 `input` 中行 i 的元素是 `NAN`,否则为 `false`

异常
cudf::logic_error如果 `input` 是非浮点类型
参数
input浮点元素列
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
一个非 nullable 的 `type_id::BOOL8` 元素列,其中 `true` 表示 `NAN` 值

◆ is_not_nan()

创建一个 `type_id::BOOL8` 元素的列,指示浮点值列中不存在 `NaN` 值。输出中行 `i` 的元素为 `false`,如果 `input` 中行 i 的元素是 `NAN`,否则为 `true`

异常
cudf::logic_error如果 `input` 是非浮点类型
参数
input浮点元素列
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
一个非 nullable 的 `type_id::BOOL8` 元素列,其中 `false` 表示 `NAN` 值

◆ is_null()

创建一个 `type_id::BOOL8` 元素的列,其中 `input` 中每个元素对应的 `true` 表示值为空,`false` 表示值有效。

参数
input输入为一个 `column_view`
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
一个非 nullable 的 `type_id::BOOL8` 元素列,其中 `true` 表示 `null` 值。

◆ is_supported_cast()

bool cudf::is_supported_cast ( data_type  from,
data_type  to 
)
noexcept

检查是否支持两种数据类型之间的转换。

参数
from源类型
to目标类型
返回值
如果支持转换,则为 true。

◆ is_valid()

创建一个 `type_id::BOOL8` 元素的列,其中 `input` 中每个元素对应的 `true` 表示值有效,`false` 表示值为空。

参数
input输入为一个 `column_view`
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
一个非 nullable 的 `type_id::BOOL8` 元素列,其中 `false` 表示 `null` 值。

◆ round()

std::unique_ptr<column> cudf::round ( column_view const &  input,
int32_t  decimal_places = 0,
rounding_method  method = rounding_method::HALF_UP,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将列中的所有值舍入到指定的小数位数。

`cudf::round` 当前支持对整数、浮点数以及 `decimal32` 和 `decimal64` 数字进行 HALF_UP 和 HALF_EVEN 舍入。对于 `decimal32` 和 `decimal64` 数字,负的 `numeric::scale` 等同于 `decimal_places`。

示例

using namespace cudf;
column_view a; // 包含 { 1.729, 17.29, 172.9, 1729 };
auto result1 = round(a); // { 2, 17, 173, 1729 }
auto result2 = round(a, 1); // { 1.7, 17.3, 172.9, 1729 }
auto result3 = round(a, -1); // { 0, 20, 170, 1730 }
column_view b; // 包含 { 1.5, 2.5, 1.35, 1.45, 15, 25 };
auto result4 = round(b, 0, rounding_method::HALF_EVEN); // { 2, 2, 1, 1, 15, 25};
auto result5 = round(b, 1, rounding_method::HALF_EVEN); // { 1.5, 2.5, 1.4, 1.4, 15, 25};
auto result6 = round(b, -1, rounding_method::HALF_EVEN); // { 0, 0, 0, 0, 20, 20};
std::unique_ptr< column > round(column_view const &input, int32_t decimal_places=0, rounding_method method=rounding_method::HALF_UP, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
将列中的所有值舍入到指定的小数位数。
cuDF 接口
定义: host_udf.hpp:37
参数
input要舍入的值列
decimal_places舍入到的小数位数(默认为 0)。如果为负数,则指定小数点左侧的位数。
method舍入方法
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
每个值都经过舍入的列

◆ unary_operation()

对列中的所有值执行一元操作。

注意:对于 `decimal32` 和 `decimal64`,仅支持 `ABS`、`CEIL` 和 `FLOOR`。

参数
input输入为一个 `column_view`
op要执行的操作
stream用于设备内存操作和内核启动的 CUDA stream
mr用于分配返回列设备内存的设备内存资源
返回值
大小与 `input` 相同、包含操作结果的列