std::unique_ptr<column> cudf::strings::format_list_column | ( | lists_column_view const & | input, |
string_scalar const & | na_rep = string_scalar("") , |
||
strings_column_view const & | separators = strings_column_view(column_view{ data_type{type_id::STRING}, 0, nullptr, nullptr, 0}) , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
将字符串列表列转换为格式化的字符串列。
separators 列应包含以下顺序的 3 个字符串元素
cudf::logic_error | 如果输入列不是包含 STRING 子类型的 LIST 类型。 |
input | 要格式化的列表列 |
na_rep | 用于替换 null 元素的字符串 |
separators | 用于封闭列表组件和分隔元素的字符串 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::from_booleans | ( | column_view const & | booleans, |
string_scalar const & | true_string, | ||
string_scalar const & | false_string, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过将提供的列中的布尔值转换为字符串,返回一个新的字符串列。
任何 null 条目将在输出列中产生相应的 null 条目。
cudf::logic_error | 如果输入列不是 BOOL8 类型。 |
booleans | 要转换的布尔列 |
true_string | 输出列中 true 值使用的字符串 |
false_string | 输出列中 false 值使用的字符串 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::from_durations | ( | column_view const & | durations, |
std::string_view | format = "%D days %H:%M:%S" , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
使用提供的格式模式将持续时间列转换为字符串列,返回一个新的字符串列。
格式模式可以包含以下说明符:"%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS"
说明符 | 描述 | 范围 |
---|---|---|
%% | 字面量 % 字符 | % |
%n | 换行符 | \n |
%t | 水平制表符 | \t |
%D | 天 | -2,147,483,648 到 2,147,483,647 |
%H | 一天中的 24 小时制 | 00 到 23 |
%I | 一天中的 12 小时制 | 00 到 11 |
%M | 小时的分钟 | 00 到 59 |
%S | 分钟的秒 | 00 到 59.999999999 |
%OH | 与 H 相同,但不带符号 | 00 到 23 |
%OI | 与 I 相同,但不带符号 | 00 到 11 |
%OM | 与 M 相同,但不带符号 | 00 到 59 |
%OS | 与 S 相同,但不带符号 | 00 到 59 |
%p | 与 12 小时制相关的 AM/PM 标志 | 'AM' 或 'PM' |
%R | 等同于 "%H:%M" | |
%T | 等同于 "%H:%M:%S" | |
%r | 等同于 "%OI:%OM:%OS %p" |
不对无效格式或无效持续时间值进行检查。格式化尽可能遵循 std::formatter<std::chrono::duration>
的规范。
任何 null 输入条目将在输出列中产生相应的 null 条目。
输入列的时间单位会影响秒数小数部分的位数。它使用 3 位数字表示毫秒,6 位数字表示微秒,9 位数字表示纳秒。如果持续时间值为负,输出字符串中只写入一个负号。带符号的说明符是 "%H,%I,%M,%S,%R,%T"。
cudf::logic_error | 如果 durations 列参数不是持续时间类型。 |
durations | 要转换的持续时间值 |
format | 指定输出格式的字符串。默认格式为 ""D days H:M:S"。 |
mr | 用于分配返回列设备内存的设备内存资源 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
std::unique_ptr<column> cudf::strings::from_fixed_point | ( | 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() |
||
) |
将定点数(fixed-point)值转换为字符串列,返回一个新的字符串列。
任何 null 条目都会导致输出列中出现相应的 null 条目。
对于每个值,将创建一个基于 10 进制的字符串。负数在输出字符串中包含 '-' 前缀。列的比例值用于放置小数点。负比例值可能会在小数点后添加填充零。
cudf::logic_error | 如果输入列不是定点 decimal 类型。 |
input | 要转换的定点列 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::from_floats | ( | column_view const & | floats, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过将提供的列中的浮点值转换为字符串,返回一个新的字符串列。
任何 null 条目将在输出列中产生相应的 null 条目。
对于每个浮点数,将创建一个基于 10 进制的字符串。负数将包含 '-' 前缀。产生超过 10 个有效数字的数字将生成包含科学记数法(例如 "-1.78e+15")的字符串。
cudf::logic_error | 如果 floats 列不是浮点类型。 |
floats | 要转换的数值列 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::from_integers | ( | column_view const & | integers, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过将提供的列中的整数值转换为字符串,返回一个新的字符串列。
任何 null 条目将在输出列中产生相应的 null 条目。
对于每个整数,将创建一个基于 10 进制的字符串。负数将包含 '-' 前缀。
cudf::logic_error | 如果 integers 列不是整数类型。 |
integers | 要转换的数值列 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::from_timestamps | ( | column_view const & | timestamps, |
std::string_view | format = "%Y-%m-%dT%H:%M:%SZ" , |
||
strings_column_view const & | names = strings_column_view(column_view{ data_type{type_id::STRING}, 0, nullptr, nullptr, 0}) , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
使用提供的格式模式将时间戳列转换为字符串列,返回一个新的字符串列。
格式模式可以包含以下说明符: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z,%Z"
说明符 | 描述 |
---|---|
%d | 月份中的日期: 01-31 |
%m | 一年中的月份: 01-12 |
%y | 不含世纪的年份: 00-99 |
%Y | 含世纪的年份: 0001-9999 |
%H | 一天中的 24 小时制: 00-23 |
%I | 一天中的 12 小时制: 01-12 |
%M | 小时的分钟: 00-59 |
%S | 分钟的秒: 00-59 |
%f | 6 位微秒: 000000-999999 |
%z | 总是输出 "+0000" |
%Z | 总是输出 "UTC" |
%j | 一年中的日期: 001-366 |
%u | ISO 工作日,周一为 1,周日为 7 |
%w | 工作日,周日为 0,周六为 6 |
%U | 一年中的周,周日作为第一天: 00-53 |
%W | 一年中的周,周一作为第一天: 00-53 |
%V | 一年中的周,按照 ISO-8601 格式: 01-53 |
%G | 基于 ISO-8601 周的年份: 0000-9999 |
%p | 从 timestamp_names::am_str/pm_str 获取 AM/PM |
%a | 从 names 参数获取工作日缩写 |
%A | 从 names 参数获取工作日 |
%b | 从 names 参数获取月份名称缩写 |
%B | 从 names 参数获取月份名称 |
更多描述可以在这里找到: https://cppreference.cn/w/cpp/chrono/system_clock/formatter
不对无效格式或无效时间戳值进行检查。所有时间戳值都格式化为 UTC。
任何 null 输入条目将在输出列中产生相应的 null 条目。
输入列的时间单位不影响 "%f" 说明符写入的位数。"%f" 支持一个精度值,用于输出亚秒值的数字。指定精度时,在 "%" 和 "f" 之间使用单个整数值 (1-9),如下所示:使用 "%3f" 表示毫秒,使用 "%6f" 表示微秒,使用 "%9f" 表示纳秒。如果精度高于单位,则亚秒值右侧会填充零。如果精度低于单位,亚秒值可能会被截断。
如果格式中包含 "%a", "%A", "%b", "%B" 说明符,调用者应在 names 字符串列中提供格式名称,参考如下
如果未为这些说明符提供格式名称,则结果未定义。
可以使用 C++ clocale (std) 库中的 nl_langinfo 函数或 Python locale 库获取特定区域设置的这些格式名称。
以下代码是从区域设置中使用 c++ std 函数检索这些字符串的示例
cudf::logic_error | 如果 timestamps 列参数不是时间戳类型。 |
cudf::logic_error | 如果 format 字符串为空 |
cudf::logic_error | 如果 names.size() 是无效大小。必须是 0 或 40 个字符串。 |
timestamps | 要转换的时间戳值 |
format | 指定输出格式的字符串。默认格式为 "%Y-%m-%dT%H:%M:%SZ"。 |
names | 用于工作日 ("%a", "%A") 和月份 ("%b", "%B") 的字符串名称。默认为空的 strings_column_view。 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::hex_to_integers | ( | strings_column_view const & | input, |
data_type | output_type, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过解析提供的字符串列中的十六进制值,返回一个新的整数数值列。
任何 null 条目将在输出列中产生相应的 null 条目。
只识别字符 [0-9] 和 [A-F]。当遇到任何其他字符时,该字符串的解析结束。不对整数的符号进行解释。
不检查结果整数类型的溢出。每个字符串都使用 int64 类型进行转换,然后转换为目标整数类型再存储到输出列中。如果结果整数类型太小无法容纳该值,存储的值将未定义。
cudf::logic_error | 如果 output_type 不是整数类型。 |
input | 用于此操作的字符串实例 |
output_type | 要返回的整数数值列的类型 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::integers_to_hex | ( | 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() |
||
) |
将整数列转换为十六进制字符,返回一个新的字符串列。
任何 null 条目将在输出列中产生相应的 null 条目。
输出字符集是 '0'-'9' 和 'A'-'F'。输出字符串的宽度将根据整数类型的大小而定,是 2 的倍数。如果第一个非零输出字节小于 0x10,则在其前面添加一个零。
上面的示例展示了一个 INT32
类型的列,其中每个整数占用 4 字节。前导零被省略,除非用于填充完整的字节,例如‘1234 -> '04D2’,而不是 000004D2
或 4D2
。
cudf::logic_error | 如果输入列不是整数类型。 |
input | 要转换为十六进制的整数列 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::integers_to_ipv4 | ( | column_view const & | integers, |
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
将整数转换为 IPv4 地址(字符串格式)。
IPv4 格式是 3 个点之间有 1-3 位数字 [0-9] 的形式(例如 123.45.67.890)。每个部分的值范围是 [0-255]。
每个输入整数被分解为四个整数,方法是将输入分为 8 位段。然后将这些子整数转换为 [0-9] 字符,并放在 '.' 字符之间。
任何 null 条目将在输出列中产生相应的 null 条目。
cudf::logic_error | 如果输入列不是 UINT32 类型。 |
integers | 要转换的整数 (UINT32) 列 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::ipv4_to_integers | ( | strings_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() |
||
) |
将 IPv4 地址转换为整数。
IPv4 格式是 3 个点之间有 1-3 位数字 [0-9] 的形式(例如 123.45.67.890)。每个部分的值范围是 [0-255]。
将四组数字转换为整数,并放置在结果整数的 8 位字段中。
不对格式进行检查。如果字符串不是 IPv4 格式,结果整数将未定义。
任何 null 条目将在输出列中产生相应的 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_fixed_point | ( | strings_column_view const & | input, |
data_type | decimal_type = data_type{type_id::DECIMAL64} , |
||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
返回一个布尔列,用于标识其中所有字符对于转换为定点数(fixed-point)有效字符串。
符号和指数是可选的。小数点只能出现一次。此外,整数部分必须适合底层定点存储类型的大小限制。整数部分的值取决于提供的 decimal_type
的比例。
任何 null 条目都会导致输出列中出现相应的 null 条目。
cudf::logic_error | 如果 decimal_type 不是定点 decimal 类型。 |
input | 用于此操作的字符串实例 |
decimal_type | 仅用于检查溢出的定点类型(带比例) |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_float | ( | strings_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() |
||
) |
返回一个布尔列,用于标识其中所有字符对于转换为浮点数有效字符串。
如果相应的字符串元素至少包含 [-+0-9eE.] 中的一个字符,则输出行条目将设置为 true
。
任何 null 行都会导致输出列中该行出现 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_hex | ( | strings_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() |
||
) |
返回一个布尔列,用于标识其中所有字符对于从十六进制转换为整数有效字符串。
如果相应的字符串元素至少包含 [0-9A-Za-z] 中的一个字符,则输出行条目将设置为 true
。此外,字符串可以以 '0x' 开头。
任何 null 行都会导致输出列中该行出现 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_integer | ( | strings_column_view const & | input, |
data_type | int_type, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
返回一个布尔列,用于标识其中所有字符对于转换为整数有效字符串。
如果相应的字符串元素的所有字符都在 [-+0-9] 中,则输出行条目将设置为 true
。可选的符号字符只能位于第一个位置。此外,整数部分必须适合底层存储类型的大小限制,该限制由 int_type 参数提供。
任何 null 行都会导致输出列中该行出现 null 条目。
input | 用于此操作的字符串实例 |
int_type | 用于检查下溢和溢出的整数类型 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_integer | ( | strings_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() |
||
) |
返回一个布尔列,用于标识其中所有字符对于转换为整数有效字符串。
如果相应的字符串元素的所有字符都在 [-+0-9] 中,则输出行条目将设置为 true
。可选的符号字符只能位于第一个位置。请注意,不检查整数值是否在其存储限制内。对于严格的整数类型检查,请使用接受 data_type 参数的另一个 is_integer() API。
任何 null 行都会导致输出列中该行出现 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_ipv4 | ( | strings_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() |
||
) |
返回一个布尔列,用于标识其中所有字符对于从 IPv4 格式转换为整数有效字符串。
如果相应的字符串元素格式为 xxx.xxx.xxx.xxx
,其中 xxx
是 0-255 之间的整数数字,则输出行条目将设置为 true
。
任何 null 行都会导致输出列中该行出现 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::is_timestamp | ( | strings_column_view const & | input, |
std::string_view | format, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
使用提供的格式模式验证给定的字符串列是否可以解析为时间戳。
格式模式可以包含以下说明符: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z"
说明符 | 描述 |
---|---|
%d | 月份中的日期: 01-31 |
%m | 一年中的月份: 01-12 |
%y | 不含世纪的年份: 00-99。 [0,68] 映射到 [2000,2068],[69,99] 映射到 [1969,1999] |
%Y | 含世纪的年份: 0001-9999 |
%H | 一天中的 24 小时制: 00-23 |
%I | 一天中的 12 小时制: 01-12 |
%M | 小时的分钟: 00-59 |
%S | 分钟的秒: 00-59。不支持闰秒。 |
%f | 6 位微秒: 000000-999999 |
%z | UTC 偏移量,格式为 ±HHMM。例如 +0500 |
%j | 一年中的日期: 001-366 |
%p | 只识别 'AM', 'PM' 或 'am', 'pm' |
%W | 一年中的周,周一作为一周的第一天: 00-53 |
%w | 一周中的日期: 0-6 = 周日-周六 |
%U | 一年中的周,周日作为一周的第一天: 00-53 |
%u | 一周中的日期: 1-7 = 周一-周日 |
目前不支持其他说明符。"%f" 支持一个精度值来读取数字。指定精度时,在 "%" 和 "f" 之间使用单个整数值 (1-9),如下所示:使用 "%3f" 表示毫秒,"%6f" 表示微秒,"%9f" 表示纳秒。
任何 null 字符串条目都会导致输出列中出现相应的 null 行。
这将返回一个 BOOL8 类型的列,其中 true
行表示相应的输入字符串可以使用给定格式正确解析。
input | 用于此操作的字符串实例 |
format | 指定字符串中时间戳格式的字符串 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::to_booleans | ( | strings_column_view const & | input, |
string_scalar const & | true_string, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过解析提供的字符串列中的布尔值,返回一个新的 BOOL8 列。
任何 null 条目将在输出列中产生相应的 null 条目。
input | 用于此操作的字符串实例 |
true_string | 期望为 true 的字符串。不匹配的字符串为 false |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::to_durations | ( | strings_column_view const & | input, |
data_type | duration_type, | ||
std::string_view | format, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
使用提供的格式模式将字符串列转换为持续时间列,返回一个新的持续时间列。
格式模式可以包含以下说明符:"%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS"
说明符 | 描述 | 范围 |
---|---|---|
%% | 字面量 % 字符 | % |
%n | 换行符 | \n |
%t | 水平制表符 | \t |
%D | 天 | -2,147,483,648 到 2,147,483,647 |
%H | 一天中的 24 小时制 | 00 到 23 |
%I | 一天中的 12 小时制 | 00 到 11 |
%M | 小时的分钟 | 00 到 59 |
%S | 分钟的秒 | 00 到 59.999999999 |
%OH | 与 H 相同,但不带符号 | 00 到 23 |
%OI | 与 I 相同,但不带符号 | 00 到 11 |
%OM | 与 M 相同,但不带符号 | 00 到 59 |
%OS | 与 S 相同,但不带符号 | 00 到 59 |
%p | 与 12 小时制相关的 AM/PM 标志 | 'AM' 或 'PM' |
%R | 等同于 "%H:%M" | |
%T | 等同于 "%H:%M:%S" | |
%r | 等同于 "%OI:%OM:%OS %p" |
目前不支持其他说明符。
不检查无效格式。如果字符串包含意外或不足的字符,则该输出行条目的持续时间值未定义。
任何 null 字符串条目都会导致输出列中出现相应的 null 行。
结果时间单位由 duration_type
参数指定。
cudf::logic_error | 如果 duration_type 不是持续时间类型。 |
input | 用于此操作的字符串实例 |
duration_type | 用于创建输出列的持续时间类型 |
format | 指定字符串中持续时间格式的字符串 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::to_fixed_point | ( | strings_column_view const & | input, |
data_type | output_type, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过解析提供的字符串列中的十进制值,返回一个新的定点数(fixed-point)列。
任何 null 条目都会导致输出列中出现相应的 null 条目。
期望的格式是 [符号][整数][.][小数]
,其中符号可以不存在,为 -
或 +
,小数点 [.]
可能存在也可能不存在,integer
和 fraction
由零个或多个 [0-9] 中的数字组成。无效数据格式会导致相应输出行结果出现未定义行为。
不检查结果值类型的溢出。output_type
中的比例用于设置整数部分。
cudf::logic_error | 如果 output_type 不是定点 decimal 类型。 |
input | 用于此操作的字符串实例 |
output_type | 要返回的定点列的类型,包括比例值 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
output_type
的新列std::unique_ptr<column> cudf::strings::to_floats | ( | strings_column_view const & | strings, |
data_type | output_type, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过解析提供的字符串列中的每个字符串中的浮点值,返回一个新的数值列。
任何 null 条目将在输出列中产生相应的 null 条目。
只识别字符 [0-9] 以及前缀 '-' 和 '+' 以及小数点 '.'。此外,还支持科学记数法(例如 "-1.78e+5")。
cudf::logic_error | 如果 output_type 不是浮点类型。 |
strings | 用于此操作的字符串实例 |
output_type | 要返回的浮点数值列的类型 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::to_integers | ( | strings_column_view const & | input, |
data_type | output_type, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
通过解析提供的字符串列中的整数值,返回一个新的整数数值列。
任何 null 条目将在输出列中产生相应的 null 条目。
只识别字符 [0-9] 以及前缀 '-' 和 '+'。当遇到任何其他字符时,该字符串的解析结束,当前数字被转换为整数。
不检查结果整数类型的溢出。每个字符串都使用 int64 类型进行转换,然后转换为目标整数类型再存储到输出列中。如果结果整数类型太小无法容纳该值,存储的值将未定义。
cudf::logic_error | 如果 output_type 不是整数类型。 |
input | 用于此操作的字符串实例 |
output_type | 要返回的整数数值列的类型 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::to_timestamps | ( | strings_column_view const & | input, |
data_type | timestamp_type, | ||
std::string_view | format, | ||
rmm::cuda_stream_view | stream = cudf::get_default_stream() , |
||
rmm::device_async_resource_ref | mr = cudf::get_current_device_resource_ref() |
||
) |
使用提供的格式模式将字符串列转换为时间戳列,返回一个新的时间戳列。
格式模式可以包含以下说明符: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z"
说明符 | 描述 |
---|---|
%d | 月份中的日期: 01-31 |
%m | 一年中的月份: 01-12 |
%y | 不含世纪的年份: 00-99。 [0,68] 映射到 [2000,2068],[69,99] 映射到 [1969,1999] |
%Y | 含世纪的年份: 0001-9999 |
%H | 一天中的 24 小时制: 00-23 |
%I | 一天中的 12 小时制: 01-12 |
%M | 小时的分钟: 00-59 |
%S | 分钟的秒: 00-59。不支持闰秒。 |
%f | 6 位微秒: 000000-999999 |
%z | UTC 偏移量,格式为 ±HHMM。例如 +0500 |
%j | 一年中的日期: 001-366 |
%p | 只识别 'AM', 'PM' 或 'am', 'pm' |
%W | 一年中的周,周一作为一周的第一天: 00-53 |
%w | 一周中的日期: 0-6 = 周日-周六 |
%U | 一年中的周,周日作为一周的第一天: 00-53 |
%u | 一周中的日期: 1-7 = 周一-周日 |
目前不支持其他说明符。
不检查无效格式。如果字符串包含意外或不足的字符,则该输出行条目的时间戳值未定义。
任何 null 字符串条目都会导致输出列中出现相应的 null 行。
结果时间单位由 timestamp_type
参数指定。时间单位与 "%f" 说明符解析的位数无关。"%f" 支持一个精度值来读取数字。指定精度时,在 "%" 和 "f" 之间使用单个整数值 (1-9),如下所示:使用 "%3f" 表示毫秒,"%6f" 表示微秒,"%9f" 表示纳秒。
尽管 "%S" 不支持闰秒,但不对该值进行检查。可以使用 cudf::strings::is_timestamp 验证值的有效范围。
如果同时指定 "%W"/"%w"(或 "%U/%u")和 "%m"/"%d",则计算时间戳结果的日期部分时,"%W"/U 和 "%w"/u 的值优先。
cudf::logic_error | 如果 timestamp_type 不是时间戳类型。 |
input | 用于此操作的字符串实例 |
timestamp_type | 用于创建输出列的时间戳类型 |
format | 指定字符串中时间戳格式的字符串 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::url_decode | ( | strings_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() |
||
) |
使用 URL 编码解码每个字符串。
将所有以 '' 开头的字符序列转换为字符码点,将后面的 2 个字符解释为十六进制值来创建码点。例如,序列 '%20' 转换为字节 (0x20),这是一个空格字符。另一个例子将 'C3A9' 转换为 2 个连续字节(分别为 0xc3 和 0xa9),这是 é 字符。总之,只要在字符串中遇到 '%' (单个百分号) 字符,就会将 3 个字符转换为一个 char 字节。
任何 null 条目将在输出列中产生相应的 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |
std::unique_ptr<column> cudf::strings::url_encode | ( | strings_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() |
||
) |
使用 URL 编码对每个字符串进行编码。
将大多非 ascii 字符和控制字符转换为以 '' 为前缀的 UTF-8 十六进制码点。例如,空格字符必须转换为 '%20',其中 '20' 表示 UTF-8 中空格的十六进制值。类似地,多字节字符转换为多个十六进制字符。例如,é 字符转换为 'C3A9',其中 'C3A9' 是该字符的 UTF-8 字节 0xC3A9。
任何 null 条目将在输出列中产生相应的 null 条目。
input | 用于此操作的字符串实例 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
mr | 用于分配返回列设备内存的设备内存资源 |