字符串功能#

numpy.strings 模块提供了一组对 numpy.str_numpy.bytes_ 类型的数组进行操作的通用函数。例如,

>>> np.strings.add(["num", "doc"], ["py", "umentation"])
array(['numpy', 'documentation'], dtype='<U13')

这些通用函数也用于 numpy.char,它提供了 numpy.char.chararray 数组子类,以便这些例程也能获得性能优势。

注意

在 NumPy 2.0 之前,所有字符串功能都位于 numpy.char 中,该模块仅对固定宽度的字符串进行操作。该模块将不再接收更新,并将在未来某个时候被弃用。

字符串操作#

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

按元素添加参数。

center(a, width[, fillchar])

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

capitalize(a)

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

decode(a[, encoding, errors])

按元素调用 bytes.decode

encode(a[, encoding, errors])

按元素调用 str.encode

expandtabs(a[, tabsize])

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

ljust(a, width[, fillchar])

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

lower(a)

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

lstrip(a[, chars])

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

mod(a, values)

返回 (a % i),即 Python 2.6 之前的字符串格式化(插值),对一对 str 或 unicode 类型的类数组对象进行按元素操作。

multiply(a, i)

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

partition(a, sep)

a 中的每个元素围绕 sep 进行分区。

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

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

rjust(a, width[, fillchar])

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

rpartition(a, sep)

将每个元素围绕最右边的分隔符进行分区(分割)。

rstrip(a[, chars])

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

slice(a[, start, stop, step])

根据 startstopstep 指定的切片,对 a 中的字符串进行切片。

strip(a[, chars])

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

swapcase(a)

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

title(a)

按元素返回字符串或 Unicode 的标题化版本。

translate(a, table[, deletechars])

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

upper(a)

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

zfill(a, width)

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

比较#

numpy.strings 模块也导出了现在可以对字符串数组进行操作的比较通用函数。

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

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

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

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

greater_equal(x1, x2, /[, out, where, ...])

按元素返回 (x1 >= x2) 的真值。

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

按元素返回 (x1 <= x2) 的真值。

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

按元素返回 (x1 > x2) 的真值。

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

按元素返回 (x1 < x2) 的真值。

字符串信息#

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

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

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

isalpha(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, ...])

返回每个元素的长度。