变换 替换#
- group 替换
枚举
函数
-
std::unique_ptr<column> 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())#
使用另一列的对应值替换列中的所有空值。
如果
input[i]
为 NULL,则output[i]
将包含replacement[i]
。input
和replacement
的类型和大小必须相同。- 参数:
input – [in] 将替换其空值的列
replacement – [in] 将用于替换 input 中空值的 cudf::column
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- 返回值:
input 的副本,其中空值已替换为 replacement 中的相应值。
-
std::unique_ptr<column> 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())#
使用标量替换列中的所有空值。
如果
input[i]
为 NULL,则output[i]
将包含replacement
。input
和replacement
的类型必须相同。- 参数:
input – [in] 将替换其空值的列
replacement – [in] 用于替换 input 中空值的标量
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- 返回值:
input 的副本,其中空值已替换为 replacement
-
std::unique_ptr<column> 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())#
使用前一个/后一个非空值替换列中的所有空值。
如果
input[i]
为 NULL,则output[i]
将包含空值之前或之后的第一个非空值,具体取决于replace_policy
。- 参数:
input – [in] 将替换其空值的列
replace_policy – [in] 指定替换值相对于空值的位置
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- 返回值:
input 的副本,其中空值根据
replace_policy
进行替换
-
std::unique_ptr<column> 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}
注意
空值不被视为 NaN
- 抛出:
cudf::logic_error – 如果
input
和replacement
的类型或大小不同。cudf::logic_error – 如果
input
或replacement
不是浮点数据类型。
- 参数:
input – 将替换其 NaN 值的列
replacement – 将用于替换 input 中 NaN 值的 cudf::column
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回值:
input 的副本,其中 NaN 值已替换为 replacement 中的相应值。
-
std::unique_ptr<column> 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}
注意
空值不被视为 NaN
- 抛出:
cudf::logic_error – 如果
input
和replacement
的类型不同。cudf::logic_error – 如果
input
或replacement
不是浮点数据类型。
- 参数:
input – 将替换其 NaN 值的列
replacement – 将用于替换 input 中 NaN 值的 cudf::scalar
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – 用于分配返回列的设备内存的设备内存资源
- 返回值:
input 的副本,其中 NaN 值已替换为 replacement
-
std::unique_ptr<column> 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 的副本,其中指定的值已替换
-
std::unique_ptr<column> 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(本质上视为该类型的最大值)。Example: input: {1, 2, 3, NULL, 5, 6, 7} valid lo and hi lo: 3, hi: 5, lo_replace : 0, hi_replace : 16 output:{0, 0, 3, NULL, 5, 16, 16} invalid lo lo: NULL, hi: 5, lo_replace : 0, hi_replace : 16 output:{1, 2, 3, NULL, 5, 16, 16} invalid hi lo: 3, hi: NULL, lo_replace : 0, hi_replace : 16 output:{0, 0, 3, NULL, 5, 6, 7}
注意
:如果
lo
有效,则lo_replace
应有效;如果hi
有效,则hi_replace
应有效- 抛出:
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()
- 参数:
input – [in] 其元素将被限制范围的列
lo – [in] 最小限制值。所有小于
lo
的元素将被替换为lo_replace
。如果为 null 则忽略。lo_replace – [in] 所有小于
lo
的元素将被替换为lo_replace
hi – [in] 最大限制值。所有大于
hi
的元素将被替换为hi_replace
。如果为 null 则忽略。hi_replace – [in] 所有大于
hi
的元素将被替换为hi_replace
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- 返回值:
根据
lo
和hi
边界返回一个限制范围的列
-
std::unique_ptr<column> 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(本质上视为该类型的最大值)。Example: input: {1, 2, 3, NULL, 5, 6, 7} valid lo and hi lo: 3, hi: 5 output:{3, 3, 3, NULL, 5, 5, 5} invalid lo lo: NULL, hi:5 output:{1, 2, 3, NULL, 5, 5, 5} invalid 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()
- 参数:
input – [in] 其元素将被限制范围的列
lo – [in] 最小限制值。所有小于
lo
的元素将被替换为lo
。如果为 null 则忽略。hi – [in] 最大限制值。所有大于
hi
的元素将被替换为hi
。如果为 null 则忽略。stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- 返回值:
根据
lo
和hi
边界返回一个限制范围的列
-
std::unique_ptr<column> 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 – 如果列不是浮点数据类型。
- 参数:
input – [in] 要复制和规范化的浮点元素的 column_view
stream – 用于设备内存操作和内核启动的 CUDA 流
mr – [in] 用于分配输出数据的 device_memory_resource 分配器
- 返回值:
包含修改后数据的新列
-
void 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 – [inout] 要规范化的浮点元素
stream – 用于设备内存操作和内核启动的 CUDA 流
-
std::unique_ptr<column> 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())#