遗留的固定宽度字符串功能#

Legacy

这个子模块被认为是遗产,将不再接收更新.这也可能意味着它将在未来的 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)

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

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)

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

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

对于 a 中的每个元素,返回一个字符串的副本,其中子字符串 oldnew 替换.

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值数组的视图.