旧式的固定宽度字符串功能#

旧式

此子模块被认为是旧式的,将不再收到更新.这也可能意味着它将在未来的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 的 array_likes 对,逐个元素执行.

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])

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

lower (a)

返回一个将元素转换为小写的数组.

lstrip (a[, chars])

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

partition (a, sep)

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

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

对于 a 中的每个元素,返回字符串的副本,并将子字符串 old 的出现替换为 new .

rjust (a, width[, fillchar])

返回一个数组,该数组中的元素在长度为 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 值数组的方便视图.