转换替换#
- group transformation_replace
枚举
函数
-
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必须是相同类型和大小。- Parameters:
input – [in] 一个列,其空值将被替换
replacement – [in] 一个 cudf::column,其值将替换输入中的空值
stream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- Returns:
将
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必须具有相同的类型。- Parameters:
input – [in] 一个列,其空值将被替换
replacement – [in] 用于替换
input中空值的标量stream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- Returns:
复制
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在 NULL 值之前或之后的第一个非 NULL 值。- Parameters:
input – [in] 一个列,其空值将被替换
replace_policy – [in] 指定替换值相对于空值的位置
stream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- Returns:
复制
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
- Throws:
cudf::logic_error – 如果
input和replacement的类型或大小不同。cudf::logic_error – 如果
input或replacement不是浮点数据类型。
- Parameters:
input – 一个列,其NaN值将被替换
replacement – 一个 cudf::column,其值将替换输入中的 NaN 值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
将
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
- Throws:
cudf::logic_error – 如果
input和replacement的类型不同。cudf::logic_error – 如果
input或replacement不是浮点数据类型。
- Parameters:
input – 一个列,其NaN值将被替换
replacement – 一个 cudf::scalar,其值将替换输入中的 NaN 值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
一份将NaN值替换为
replacement的input副本
-
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]。- Parameters:
input_col – 要查找并替换值的列
values_to_replace – 要替换的值
replacement_values – 要替换的值
stream – 用于设备内存操作和内核启动的CUDA流
mr – 用于分配返回列的设备内存的设备内存资源
- Returns:
将
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无效,则在评估输入时将不考虑 lo(基本上视为该类型的最小值)。如果hi无效,则在评估输入时将不考虑 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应该有效。- Throws:
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()
- Parameters:
input – [in] 其元素将被钳制的列
lo – [in] 最小钳位值。所有小于
lo的元素将被替换为lo_replace。如果为 null,则忽略。lo_replace – [in] 所有小于
lo的元素将被替换为lo_replacehi – [in] 最大钳位值。所有大于
hi的元素将被替换为hi_replace。如果为 null 则忽略。hi_replace – [in] 所有大于
hi的元素将被替换为hi_replacestream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- Returns:
根据
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无效,则在评估输入时将不考虑 lo(基本上视为该类型的最小值)。如果hi无效,则在评估输入时将不考虑 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}
- Throws:
cudf::logic_error – 如果
lo.type() != hi.type()cudf::logic_error – 如果
lo.type() != input.type()
- Parameters:
input – [in] 其元素将被钳制的列
lo – [in] 最小钳位值。所有小于
lo的元素将被替换为lo。如果为 null,则忽略。hi – [in] 最大钳位值。所有大于
hi的元素将被替换为hi。如果为 null 则忽略。stream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配返回列的设备内存的设备内存资源
- Returns:
根据
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- Throws:
cudf::logic_error – 如果列没有浮点数据类型。
- Parameters:
input – [in] column_view 要复制和归一化的浮点元素
stream – 用于设备内存操作和内核启动的CUDA流
mr – [in] 用于分配输出数据的设备内存资源分配器
- Returns:
带有修改数据的新列
-
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- Throws:
cudf::logic_error – 如果列没有浮点数据类型。
- Parameters:
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())#