字符串类型#

group strings_types

枚举

enum string_character_types#

字符类型值。这些类型可以通过或运算来检查任何类型的组合。

这不能转换为枚举类,因为或运算的条目可能导致不在类中的值。例如,结合NUMERIC|SPACE是一个有效且合理的组合,但与任何明确命名的枚举器不匹配。

值:

enumerator DECIMAL#

所有十进制字符

enumerator NUMERIC#

所有数字字符

enumerator DIGIT#

所有数字字符

enumerator ALPHA#

所有字母字符

enumerator SPACE#

所有空格字符

enumerator UPPER#

所有大写字符

enumerator LOWER#

全部小写字符

enumerator ALPHANUM#

所有字母数字字符

enumerator CASE_TYPES#

所有可转换大小写的字符

enumerator ALL_TYPES#

所有字符类型

函数

std::unique_ptr<column> all_characters_of_type(strings_column_view const &input, string_character_types types, string_character_types verify_types = string_character_types::ALL_TYPES, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

返回一个布尔列,用于标识所有字符均为指定类型的字符串条目。

如果相应的字符串元素为空或至少有一个字符不符合指定类型,则输出行条目将设置为false。如果所有字符都符合类型,则在该输出行条目中设置为true。

要忽略除特定类型之外的所有类型,请将verify_types设置为应检查的那些类型。否则,默认的ALL_TYPES将验证所有字符是否匹配types

Example:
s = ['ab', 'a b', 'a7', 'a B']
b1 = s.all_characters_of_type(s,LOWER)
b1 is [true, false, false, false]
b2 = s.all_characters_of_type(s,LOWER,LOWER|UPPER)
b2 is [true, true, true, false]

任何空行都会导致输出列中该行的条目为空。

Parameters:
  • input – 此操作的字符串实例

  • types – 要检查每个字符串中的字符类型

  • verify_types – 仅针对这些字符类型进行验证。默认 ALL_TYPES 表示仅当所有字符都匹配 types 时返回 true

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

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

Returns:

每个字符串的布尔结果新列

std::unique_ptr<column> filter_characters_of_type(strings_column_view const &input, string_character_types types_to_remove, string_scalar const &replacement = string_scalar(""), string_character_types types_to_keep = string_character_types::ALL_TYPES, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::device_async_resource_ref mr = cudf::get_current_device_resource_ref())#

从字符串列中过滤特定字符类型。

要删除特定类型的所有字符,请在types_to_remove中设置该类型,并将types_to_keep设置为ALL_TYPES

要过滤掉非选定类型的字符,请为types_to_remove指定ALL_TYPES,并在types_to_keep中指定不删除的类型。

Example:
s = ['ab', 'a b', 'a7bb', 'A7B234']
s1 = s.filter_characters_of_type(s,NUMERIC,"",ALL_TYPES)
s1 is ['ab', 'a b', 'abb', 'AB']
s2 = s.filter_characters_of_type(s,ALL_TYPES,"-",LOWER)
s2 is ['ab', 'a-b', 'a-bb', '------']

s1 中,所有 NUMERIC 类型已被移除。在 s2 中,所有非 LOWER 类型已被替换。

必须设置参数 types_to_removetypes_to_keep 中的一个为 ALL_TYPES,但不能同时设置两者。

任何空行都会导致输出列中该行的条目为空。

Throws:

cudf::logic_error – 如果 types_to_removetypes_to_keep 都没有或都被设置为 ALL_TYPES

Parameters:
  • input – 此操作的字符串实例

  • types_to_remove – 要检查每个字符串中的字符类型。在这里使用 ALL_TYPES 来指定 types_to_keep 代替。

  • replacement – 用于替换被移除字符的替换字符

  • types_to_keep – 默认 ALL_TYPES 表示 types_to_remove 的所有字符都将被过滤。

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

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

Returns:

新字符串列,过滤掉指定类型的字符并用指定的替换字符串替换

constexpr string_character_types operator|(string_character_types lhs, string_character_types rhs)#

用于组合string_character_types的OR运算符。

Parameters:
  • lhs – OR操作的左侧

  • rhs – OR操作的右侧

Returns:

组合的字符串字符类型

constexpr string_character_types &operator|=(string_character_types &lhs, string_character_types rhs)#

用于组合string_character_types的复合赋值OR运算符。

Parameters:
  • lhs – OR操作的左侧

  • rhs – OR操作的右侧

Returns:

在组合 lhsrhs 后引用 lhs