字符串类型#
- 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#
所有字符类型
-
enumerator DECIMAL#
函数
-
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_remove和types_to_keep中的一个为ALL_TYPES,但不能同时设置两者。任何空行都会导致输出列中该行的条目为空。
- Throws:
cudf::logic_error – 如果
types_to_remove和types_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:
在组合
lhs和rhs后引用lhs
-
enum string_character_types#