字符串切片#

group strings_slice

函数

std::unique_ptr<column> slice_strings(strings_column_view const &input, numeric_scalar<size_type> const &start = numeric_scalar<size_type>(0, false), numeric_scalar<size_type> const &stop = numeric_scalar<size_type>(0, false), numeric_scalar<size_type> const &step = numeric_scalar<size_type>(1), rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

返回一个新的字符串列,其中包含提供列中字符串的子字符串。

在每个字符串中要检索的字符位置是[start,stop)。如果起始位置超出字符串的长度,则返回该条目的空字符串。如果停止位置超过字符串的末尾,则使用字符串的末尾作为该字符串的停止位置。

空字符串条目将返回空输出字符串条目。

Example:
s = ["hello", "goodbye"]
r = slice_strings(s,2,6)
r is now ["llo","odby"]
r2 = slice_strings(s,2,5,2)
r2 is now ["lo","ob"]
Parameters:
  • input – 此操作的字符串列

  • start – 开始子字符串的第一个字符位置

  • stop – 结束子字符串的最后一个字符位置(不包括该位置)

  • step – 检索输入字符之间的距离

  • stream – 用于设备内存操作和内核启动的CUDA流

  • mr – 用于分配返回列的设备内存的设备内存资源

Returns:

新字符串列,包含此实例的排序元素

std::unique_ptr<column> slice_strings(strings_column_view const &input, column_view const &starts, column_view const &stops, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

返回一个新的字符串列,该列包含使用每个字符串的唯一范围从提供的列中的字符串中提取的子字符串。

在每个字符串中要检索的字符位置由startsstops整数列指定。如果起始位置超出字符串的长度,则该条目返回空字符串。如果停止位置超过字符串的末尾,则使用字符串的末尾作为该字符串的停止位置。任何设置为-1的停止位置值将指示使用字符串的末尾作为该字符串的停止位置。

空字符串条目将返回空输出字符串条目。

开始和停止列必须都是相同的整数类型,并且必须与字符串列的大小相同。

Example:
s = ["hello", "goodbye"]
starts = [ 1, 2 ]
stops = [ 5, 4 ]
r = slice_strings(s,starts,stops)
r is now ["ello","od"]
Throws:
Parameters:
  • input – 此操作的字符串列

  • starts – 开始子字符串的第一个字符位置

  • stops – 结束子字符串的最后一个字符(不包括)的位置

  • stream – 用于设备内存操作和内核启动的CUDA流

  • mr – 用于分配返回列的设备内存的设备内存资源

Returns:

新字符串列,包含此实例的排序元素