numpy.char.chararray#

class numpy.char.chararray(shape, itemsize=1, unicode=False, buffer=None, offset=0, strides=None, order=None)[源代码]#

提供了一个方便的字符串和Unicode值数组的视图.

备注

chararray 类为了与 Numarray 的向后兼容性而存在,不推荐用于新的开发.从 numpy 1.4 开始,如果需要字符串数组,建议使用 dtypeobject_bytes_str_ 的数组,并使用 numpy.char 模块中的自由函数进行快速矢量化字符串操作.

与 dtype 为 bytes_str_ 的 NumPy 数组相比,此类增加了以下功能:

  1. 当被索引时,值的末尾空白会自动被移除

  2. 比较运算符在比较值时会自动去除末尾的空白

  3. 矢量化字符串操作作为方法(例如 endswith)和内联操作符(例如 "+", "*", "%")提供

chararrays 应该使用 numpy.char.arraynumpy.char.asarray 创建,而不是直接使用这个构造函数.

这个构造函数使用 buffer`(带有 `offsetstrides)创建数组,如果它不是 None.如果 bufferNone,则以”C 顺序”构造一个新数组,除非 len(shape) >= 2order='F',在这种情况下,`strides` 是”Fortran 顺序”.

参数:
shapetuple

数组的形状.

itemsizeint, 可选

每个数组元素的长度,以字符数表示.默认值为1.

unicodebool, 可选

数组元素是 Unicode 类型(True)还是字符串类型(False).默认为 False.

buffer暴露缓冲区接口的对象或字符串,可选

数组数据的起始内存地址.默认是 None,在这种情况下会创建一个新的数组.

offsetint, 可选

从轴的开始处的固定步幅位移?默认值为0.需要 >=0.

strides类似数组的对象,可选

数组的步幅(参见 strides 的完整描述).默认为 None.

order{‘C’, ‘F’}, 可选

数组数据在内存中的存储顺序:’C’ -> “行主序”(默认),’F’ -> “列主序”(Fortran)顺序.

示例

>>> import numpy as np
>>> charar = np.char.chararray((3, 3))
>>> charar[:] = 'a'
>>> charar
chararray([[b'a', b'a', b'a'],
           [b'a', b'a', b'a'],
           [b'a', b'a', b'a']], dtype='|S1')
>>> charar = np.char.chararray(charar.shape, itemsize=5)
>>> charar[:] = 'abc'
>>> charar
chararray([[b'abc', b'abc', b'abc'],
           [b'abc', b'abc', b'abc'],
           [b'abc', b'abc', b'abc']], dtype='|S5')
属性:
T

转置数组的视图.

base

如果内存来自其他对象,则为基础对象.

ctypes

一个对象,用于简化数组与 ctypes 模块的交互.

data

指向数组数据开始的 Python 缓冲对象.

device
dtype

数组元素的数据类型.

flags

关于数组内存布局的信息.

flat

一个在数组上进行一维迭代的迭代器.

imag

数组的虚部.

itemset
itemsize

一个数组元素的字节长度.

mT

矩阵转置数组的视图.

nbytes

数组元素消耗的总字节数.

ndim

数组的维度数量.

newbyteorder
ptp
real

数组的实部.

shape

数组维度的元组.

size

数组中的元素数量.

strides

在遍历数组时,每个维度中步进的字节元组.

方法

astype(dtype[, order, casting, subok, copy])

数组的副本,转换为指定类型.

argsort([axis, kind, order])

返回可以对此数组进行排序的索引.

copy([order])

返回数组的副本.

count(sub[, start, end])

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

decode([encoding, errors])

逐元素调用 bytes.decode.

dump(file)

将数组的 pickle 转储到指定的文件中.

dumps()

返回数组的 pickle 字符串.

encode([encoding, errors])

逐元素调用 str.encode.

endswith(suffix[, start, end])

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

expandtabs([tabsize])

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

fill(value)

用标量值填充数组.

find(sub[, start, end])

对于每个元素,返回子字符串 sub 在字符串中找到的最低索引.

flatten([order])

返回数组的一个副本,折叠为一维.

getfield(dtype[, offset])

以指定类型返回给定数组的字段.

index(sub[, start, end])

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

isalnum()

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

isalpha()

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

isdecimal()

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

isdigit()

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

islower()

对于字符串中的每个元素,如果所有有大小写的字符都是小写并且至少有一个有大小写的字符,则返回真,否则返回假.

isnumeric()

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

isspace()

对于每个元素,如果字符串中只有空白字符且至少有一个字符,则返回 true,否则返回 false.

istitle()

对于每个元素,如果该元素是一个标题大小写的字符串并且至少有一个字符,则返回 true,否则返回 false.

isupper()

对于字符串中的每个元素,如果所有大小写字符都是大写并且至少有一个字符,则返回 true,否则返回 false.

item(*args)

将数组的一个元素复制到标准的 Python 标量并返回它.

join(seq)

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

ljust(width[, fillchar])

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

lower()

返回一个数组,其中包含将 self 的元素转换为小写.

lstrip([chars])

对于 self 中的每个元素,返回一个去掉前导字符的副本.

nonzero()

返回非零元素的索引.

put(indices, values[, mode])

对于所有 n 在索引中,设置 a.flat[n] = values[n].

ravel([order])

返回一个扁平化的数组.

repeat(repeats[, axis])

重复数组的元素.

replace(old, new[, count])

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

reshape(shape, /, *[, order, copy])

返回一个包含相同数据但具有新形状的数组.

resize(new_shape[, refcheck])

就地改变数组的形状和大小.

rfind(sub[, start, end])

对于 self 中的每个元素,返回子字符串 sub 找到的最高索引,使得 sub 包含在 [start, end] 内.

rindex(sub[, start, end])

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

rjust(width[, fillchar])

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

rsplit([sep, maxsplit])

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

rstrip([chars])

对于 self 中的每个元素,返回一个去掉尾部字符的副本.

searchsorted(v[, side, sorter])

找到 v 中的元素应插入 a 以保持顺序的索引.

setfield(val, dtype[, offset])

将一个值放入由数据类型定义的字段中的指定位置.

setflags([write, align, uic])

分别设置数组标志 WRITEABLE、ALIGNED、WRITEBACKIFCOPY.

sort([axis, kind, order])

就地对数组进行排序.

split([sep, maxsplit])

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

splitlines([keepends])

对于 self 中的每个元素,返回元素中各行组成的列表,在行边界处断开.

squeeze([axis])

a 中移除长度为一的轴.

startswith(prefix[, start, end])

返回一个布尔数组,其中在 self 中的字符串元素以 prefix 开头的位置为 True,否则为 False.

strip([chars])

对于 self 中的每个元素,返回一个去掉前导和尾随字符的副本.

swapaxes(axis1, axis2)

返回一个数组的视图,其中 axis1axis2 互换.

swapcase()

对于 self 中的每个元素,返回一个字符串的副本,其中大写字符转换为小写,反之亦然.

take(indices[, axis, out, mode])

返回由 a 在给定索引处的元素形成的数组.

title()

对于 self 中的每个元素,返回一个标题大小写版本的字符串:单词以大写字符开头,所有剩余的大小写字符都是小写的.

tofile(fid[, sep, format])

将数组写入文件为文本或二进制(默认).

tolist()

将数组作为 a.ndim 级别的深度嵌套的 Python 标量列表返回.

tostring([order])

tobytes 的兼容别名,具有完全相同的行为.

translate(table[, deletechars])

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

transpose(*axes)

返回数组的视图,轴已转置.

upper()

返回一个数组,其中包含将 self 的元素转换为大写字母.

view([dtype][, type])

具有相同数据的数组新视图.

zfill(width)

返回一个长度为 width 的字符串,其中数字字符串左侧填充零.