文件 | 枚举 | 函数
替换

文件

文件  cudf/replace.hpp
 

枚举

enum class  cudf::replace_policy : bool { PRECEDING , FOLLOWING }
 用于指定替换值相对于空值行的位置的策略。 更多...
 

函数

std::unique_ptr< columncudf::replace_nulls (column_view const &input, column_view const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有 null 值替换为另一列中的对应值。 更多...
 
std::unique_ptr< columncudf::replace_nulls (column_view const &input, scalar const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有 null 值替换为标量值。 更多...
 
std::unique_ptr< columncudf::replace_nulls (column_view const &input, replace_policy const &replace_policy, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有 null 值替换为第一个位于其之前/之后的非空值。 更多...
 
std::unique_ptr< columncudf::replace_nans (column_view const &input, column_view const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有 NaN 值替换为另一列中的对应值。 更多...
 
std::unique_ptr< columncudf::replace_nans (column_view const &input, scalar const &replacement, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 将列中的所有 NaN 值替换为标量值。 更多...
 
std::unique_ptr< columncudf::find_and_replace_all (column_view const &input_col, column_view const &values_to_replace, column_view const &replacement_values, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 返回 input_col 的副本,将其中找到的任何 values_to_replace[i] 替换为 replacement_values[i]更多...
 
std::unique_ptr< columncudf::clamp (column_view const &input, scalar const &lo, scalar const &lo_replace, scalar const &hi, scalar const &hi_replace, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 input 中小于 lo 的值替换为 lo_replace,将大于 hi 的值替换为 hi_replace更多...
 
std::unique_ptr< columncudf::clamp (column_view const &input, scalar const &lo, scalar const &hi, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 input 中小于 lo 的值替换为 lo,将大于 hi 的值替换为 hi更多...
 
std::unique_ptr< columncudf::normalize_nans_and_zeros (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-0.0 替换为 +NaN+0.0更多...
 
void cudf::normalize_nans_and_zeros (mutable_column_view &in_out, rmm::cuda_stream_view stream=cudf::get_default_stream())
 修改浮点元素列,将所有 -NaN-0.0 分别替换为 +NaN+0.0更多...
 

详细说明

枚举类型文档

◆ replace_policy

enum cudf::replace_policy : bool
strong

用于指定替换值相对于空值行的位置的策略。

PRECEDING 表示替换值是位于空值行之前的第一个非空值。 FOLLOWING 表示替换值是位于空值行之后的第一个非空值。

定义位于文件 cudf/replace.hpp 的第 39 行。

函数文档

◆ clamp() [1/2]

std::unique_ptr<column> cudf::clamp ( column_view const &  input,
scalar const &  lo,
scalar const &  hi,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

input 中小于 lo 的值替换为 lo,将大于 hi 的值替换为 hi

如果 lo 无效,则在评估 input 时将不考虑 lo (本质上被视为该类型的最小值)。 如果 hi 无效,则在评估 input 时将不考虑 hi (本质上被视为该类型的最大值)。

示例
input: {1, 2, 3, NULL, 5, 6, 7}
lo 和 hi 有效
lo: 3, hi: 5
output:{3, 3, 3, NULL, 5, 5, 5}
lo 无效
lo: NULL, hi:5
output:{1, 2, 3, NULL, 5, 5, 5}
hi 无效
lo: 3, hi:NULL
output:{3, 3, 3, NULL, 5, 6, 7}
异常
cudf::logic_error如果 lo.type() != hi.type()
cudf::logic_error如果 lo.type() != input.type()
参数
[in]input将对其元素执行 clamp 操作的列
[in]lo最小 clamp 值。所有小于 lo 的元素将被替换为 lo。如果为 null 则忽略。
[in]hi最大 clamp 值。所有大于 hi 的元素将被替换为 hi。如果为 null 则忽略。
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于为返回列分配设备内存的设备内存资源
返回值
返回根据 lohi 边界进行 clamp 操作的列

◆ clamp() [2/2]

std::unique_ptr<column> cudf::clamp ( column_view const &  input,
scalar const &  lo,
scalar const &  lo_replace,
scalar const &  hi,
scalar const &  hi_replace,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

input 中小于 lo 的值替换为 lo_replace,将大于 hi 的值替换为 hi_replace

如果 lo 无效,则在评估 input 时将不考虑 lo (本质上被视为该类型的最小值)。 如果 hi 无效,则在评估 input 时将不考虑 hi (本质上被视为该类型的最大值)。

注意
:如果 lo 有效,则 lo_replace 也应有效。如果 hi 有效,则 hi_replace 也应有效。
示例
input: {1, 2, 3, NULL, 5, 6, 7}
lo 和 hi 有效
lo: 3, hi: 5, lo_replace : 0, hi_replace : 16
output:{0, 0, 3, NULL, 5, 16, 16}
lo 无效
lo: NULL, hi: 5, lo_replace : 0, hi_replace : 16
output:{1, 2, 3, NULL, 5, 16, 16}
hi 无效
lo: 3, hi: NULL, lo_replace : 0, hi_replace : 16
output:{0, 0, 3, NULL, 5, 6, 7}
异常
cudf::logic_error如果 lo.type() != hi.type()
cudf::logic_error如果 lo_replace.type() != hi_replace.type()
cudf::logic_error如果 lo.type() != lo_replace.type()
cudf::logic_error如果 lo.type() != input.type()
参数
[in]input将对其元素执行 clamp 操作的列
[in]lo最小 clamp 值。所有小于 lo 的元素将被替换为 lo_replace。如果为 null 则忽略。
[in]lo_replace所有小于 lo 的元素将被替换为 lo_replace
[in]hi最大 clamp 值。所有大于 hi 的元素将被替换为 hi_replace。如果为 null 则忽略。
[in]hi_replace所有大于 hi 的元素将被替换为 hi_replace
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于为返回列分配设备内存的设备内存资源
返回值
返回根据 lohi 边界进行 clamp 操作的列

◆ find_and_replace_all()

std::unique_ptr<column> cudf::find_and_replace_all ( column_view const &  input_col,
column_view const &  values_to_replace,
column_view const &  replacement_values,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

返回 input_col 的副本,将其中找到的任何 values_to_replace[i] 替换为 replacement_values[i]

参数
input_col要在其中查找和替换值的列
values_to_replace要替换的值
replacement_values用于替换的值
stream用于设备内存操作和内核启动的 CUDA 流
mr用于为返回列分配设备内存的设备内存资源
返回值
input_col 的副本,其中指定的值已被替换

◆ normalize_nans_and_zeros() [1/2]

std::unique_ptr<column> cudf::normalize_nans_and_zeros ( 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-0.0 替换为 +NaN+0.0

使用以下规则转换 input 中的浮点值: 将 -NaN 转换为 NaN 将 -0.0 转换为 0.0

异常
cudf::logic_error如果列没有浮点数据类型。
参数
[in]input要复制并标准化的浮点元素的 column_view
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于分配输出数据的 device_memory_resource 分配器
返回值
包含修改后数据的新列

◆ normalize_nans_and_zeros() [2/2]

void cudf::normalize_nans_and_zeros ( mutable_column_view in_out,
rmm::cuda_stream_view  stream = cudf::get_default_stream() 
)

修改浮点元素列,将所有 -NaN-0.0 分别替换为 +NaN+0.0

使用以下规则转换 in_out 中的浮点值: 将 -NaN 转换为 NaN 将 -0.0 转换为 0.0

异常
cudf::logic_error如果列没有浮点数据类型。
参数
[in,out]in_out要标准化的浮点元素
stream用于设备内存操作和内核启动的 CUDA 流

◆ replace_nans() [1/2]

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

将列中的所有 NaN 值替换为另一列中的对应值。

如果 input[i] 是 NaN,则 output[i] 将包含 replacement[i]

input = {1.0, NaN, 4.0}
replacement = {3.0, 9.0, 7.0}
output = {1.0, 9.0, 4.0}
注意
Null 不被视为 NaN
异常
cudf::logic_error如果 inputreplacement 类型或大小不同。
cudf::logic_error如果 inputreplacement 不是浮点数据类型。
参数
input其 NaN 值将被替换的列
replacement其值将替换 input 中 NaN 值的 cudf::column
stream用于设备内存操作和内核启动的 CUDA 流
mr用于为返回列分配设备内存的设备内存资源
返回值
input 的副本,其中 NaN 值已替换为 replacement 中的对应值。

◆ replace_nans() [2/2]

std::unique_ptr<column> cudf::replace_nans ( column_view const &  input,
scalar const &  replacement,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将列中的所有 NaN 值替换为标量值。

如果 input[i] 是 NaN,则 output[i] 将包含 replacement

input = {1.0, NaN, 4.0}
replacement = 7.0
output = {1.0, 7.0, 4.0}
注意
Null 不被视为 NaN
异常
cudf::logic_error如果 inputreplacement 类型不同。
cudf::logic_error如果 inputreplacement 不是浮点数据类型。
参数
input其 NaN 值将被替换的列
replacement其值将替换 input 中 NaN 值的 cudf::scalar
stream用于设备内存操作和内核启动的 CUDA 流
mr用于为返回列分配设备内存的设备内存资源
返回值
input 的副本,其中 NaN 值已替换为 replacement

◆ replace_nulls() [1/3]

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

将列中的所有 null 值替换为另一列中的对应值。

如果 input[i] 是 NULL,则 output[i] 将包含 replacement[i]inputreplacement 必须是相同的类型和大小。

参数
[in]input其 null 值将被替换的列
[in]replacement其值将替换 input 中 null 值的 cudf::column
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于为返回列分配设备内存的设备内存资源
返回值
input 的副本,其中 null 值已替换为 replacement 中的对应值。

◆ replace_nulls() [2/3]

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

将列中的所有 null 值替换为第一个位于其之前/之后的非空值。

如果 input[i] 是 NULL,则 output[i] 将包含第一个位于 null 值之前或之后的非空值,具体取决于 replace_policy

参数
[in]input其 null 值将被替换的列
[in]replace_policy指定替换值相对于 null 值的位置
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于为返回列分配设备内存的设备内存资源
返回值
input 的副本,其中 null 值已根据 replace_policy 进行替换

◆ replace_nulls() [3/3]

std::unique_ptr<column> cudf::replace_nulls ( column_view const &  input,
scalar const &  replacement,
rmm::cuda_stream_view  stream = cudf::get_default_stream(),
rmm::device_async_resource_ref  mr = cudf::get_current_device_resource_ref() 
)

将列中的所有 null 值替换为标量值。

如果 input[i] 是 NULL,则 output[i] 将包含 replacementinputreplacement 必须是相同的类型。

参数
[in]input其 null 值将被替换的列
[in]replacement用于替换 input 中 null 值的标量
stream用于设备内存操作和内核启动的 CUDA 流
[in]mr用于为返回列分配设备内存的设备内存资源
返回值
input 的副本,其中 null 值已替换为 replacement