旧版固定宽度字符串功能#

旧版

此子模块被视为旧版,将不再接收更新。这也意味着它可能在未来的 NumPy 版本中被移除。此模块中的字符串操作以及 numpy.char.chararray 类,计划在未来被弃用。请改用 numpy.strings

numpy.char 模块提供了一组矢量化字符串操作,适用于类型为 numpy.str_numpy.bytes_ 的数组。例如

>>> import numpy as np
>>> np.char.capitalize(["python", "numpy"])
array(['Python', 'Numpy'], dtype='<U6')
>>> np.char.add(["num", "doc"], ["py", "umentation"])
array(['numpy', 'documentation'], dtype='<U13')

此模块中的方法基于 string 中的方法

字符串操作#

add(x1, x2, /[ out, where, casting, order, ...])

逐元素添加参数。

multiply(a, i)

逐元素返回 (a * i),即字符串多次连接。

mod(a, values)

对于一对 str 或 unicode 类型的 array_likes,逐元素返回 (a % i),即 Python 2.6 之前的字符串格式化(插值)。

capitalize(a)

返回 a 的副本,其中每个元素的第一个字符都已大写。

center(a, width[, fillchar])

返回 a 的副本,其元素在长度为 width 的字符串中居中。

decode(a[, encoding, errors])

逐元素调用 bytes.decode

encode(a[, encoding, errors])

逐元素调用 str.encode

expandtabs(a[, tabsize])

返回每个字符串元素的副本,其中所有制表符均被一个或多个空格替换。

join(sep, seq)

返回一个字符串,该字符串是序列 seq 中字符串的连接。

ljust(a, width[, fillchar])

返回一个数组,其中 a 的元素在长度为 width 的字符串中左对齐。

lower(a)

返回一个数组,其中元素已转换为小写。

lstrip(a[, chars])

对于 a 中的每个元素,返回一个移除了开头字符的副本。

partition(a, sep)

sep 周围划分 a 中的每个元素。

replace(a, old, new[, count])

对于 a 中的每个元素,返回字符串副本,其中子字符串 old 的出现已被 new 替换。

rjust(a, width[, fillchar])

返回一个数组,其中 a 的元素在长度为 width 的字符串中右对齐。

rpartition(a, sep)

在最右侧分隔符周围划分(拆分)每个元素。

rsplit(a[, sep, maxsplit])

对于 a 中的每个元素,返回字符串中单词的列表,使用 sep 作为分隔符字符串。

rstrip(a[, chars])

对于 a 中的每个元素,返回一个移除了末尾字符的副本。

split(a[, sep, maxsplit])

对于 a 中的每个元素,返回字符串中单词的列表,使用 sep 作为分隔符字符串。

splitlines(a[, keepends])

对于 a 中的每个元素,返回该元素中按行边界分割的行列表。

strip(a[, chars])

对于 a 中的每个元素,返回一个移除了开头和末尾字符的副本。

swapcase(a)

逐元素返回字符串副本,其中大写字符转换为小写,反之亦然。

title(a)

逐元素返回字符串或 unicode 的标题格式版本。

translate(a, table[, deletechars])

对于 a 中的每个元素,返回字符串副本,其中所有出现在可选参数 deletechars 中的字符都已移除,其余字符已通过给定的转换表进行映射。

upper(a)

返回一个数组,其中元素已转换为大写。

zfill(a, width)

返回左侧用零填充的数字字符串。

比较#

与标准 NumPy 比较运算符不同,char 模块中的运算符在执行比较之前会去除尾随的空白字符。

equal(x1, x2)

逐元素返回 (x1 == x2)。

not_equal(x1, x2)

逐元素返回 (x1 != x2)。

greater_equal(x1, x2)

逐元素返回 (x1 >= x2)。

less_equal(x1, x2)

逐元素返回 (x1 <= x2)。

greater(x1, x2)

逐元素返回 (x1 > x2)。

less(x1, x2)

逐元素返回 (x1 < x2)。

compare_chararrays(a1, a2, cmp, rstrip)

使用 cmp 指定的比较运算符,逐元素比较两个字符串数组。

字符串信息#

count(a, sub[, start, end])

返回一个数组,其中包含子字符串 sub 在范围 [start, end) 内的非重叠出现次数。

endswith(a, suffix[, start, end])

返回一个布尔数组,当 a 中的字符串元素以 suffix 结尾时为 True ,否则为 False

find(a, sub[, start, end])

对于每个元素,返回子字符串 sub 在字符串中首次出现的最低索引,使得 sub 包含在范围 [start, end) 内。

index(a, sub[, start, end])

类似于 find,但当未找到子字符串时会引发 ValueError

isalpha(x, /[ out, where, casting, order, ...])

如果数据中作为字符串解释的所有字符都是字母且至少有一个字符,则为每个元素返回 True,否则返回 False。

isalnum(x, /[ out, where, casting, order, ...])

如果字符串中的所有字符都是字母数字字符且至少有一个字符,则为每个元素返回 True,否则返回 False。

isdecimal(x, /[ out, where, casting, ...])

对于每个元素,如果元素中只有十进制字符,则返回 True。

isdigit(x, /[ out, where, casting, order, ...])

如果字符串中的所有字符都是数字且至少有一个字符,则为每个元素返回 True,否则返回 False。

islower(x, /[ out, where, casting, order, ...])

如果字符串中所有大小写字符都是小写且至少有一个大小写字符,则为每个元素返回 True,否则返回 False。

isnumeric(x, /[ out, where, casting, ...])

对于每个元素,如果元素中只有数字字符,则返回 True。

isspace(x, /[ out, where, casting, order, ...])

如果字符串中只有空白字符且至少有一个字符,则为每个元素返回 True,否则返回 False。

istitle(x, /[ out, where, casting, order, ...])

如果元素是标题格式的字符串且至少有一个字符,则为每个元素返回 True,否则返回 False。

isupper(x, /[ out, where, casting, order, ...])

如果字符串中所有大小写字符都是大写且至少有一个字符,则为每个元素返回 True,否则返回 False。

rfind(a, sub[, start, end])

对于每个元素,返回子字符串 sub 在字符串中最后一次出现的最高索引,使得 sub 包含在范围 [start, end) 内。

rindex(a, sub[, start, end])

类似于 rfind,但当未找到子字符串 sub 时会引发 ValueError

startswith(a, prefix[, start, end])

返回一个布尔数组,当 a 中的字符串元素以 prefix 开头时为 True ,否则为 False

str_len(x, /[ out, where, casting, order, ...])

返回每个元素的长度。

便捷类#

array(obj[, itemsize, copy, unicode, order])

创建一个 chararray

asarray(obj[, itemsize, unicode, order])

将输入转换为 chararray,仅在必要时复制数据。

chararray(shape[, itemsize, unicode, ...])

提供字符串和 unicode 值数组的便捷视图。