numpy.char.chararray#
- class numpy.char.chararray(shape, itemsize=1, unicode=False, buffer=None, offset=0, strides=None, order=None)[source]#
提供对字符串和 Unicode 值数组的便捷视图。
注意
chararray类是为了向后兼容 Numarray 而存在的,不建议用于新开发。从 NumPy 1.4 开始,如果需要字符串数组,建议使用dtype为object_、bytes_或str_的数组,并使用numpy.char模块中的自由函数进行快速向量化字符串操作。与 dtype 为
bytes_或str_的 NumPy 数组相比,此类的额外功能如下:索引时,值会自动删除末尾的空白字符
比较运算符在比较值时会自动删除末尾的空白字符
向量化字符串操作以方法(例如
endswith)和中缀运算符(例如"+", "*", "%")的形式提供
应使用
numpy.char.array或numpy.char.asarray来创建 chararray,而不是直接使用此构造函数。此构造函数创建数组,如果 buffer 不为
None,则使用 buffer(带 offset 和strides)。如果 buffer 为None,则构造一个新数组,其strides为“C 顺序”,除非len(shape) >= 2且order='F',在这种情况下,strides为“Fortran 顺序”。- 参数:
- shapetuple
数组的形状。
- itemsizeint, optional
每个数组元素的长度,以字符数计。默认值为 1。
- unicodebool, optional
数组元素是 Unicode 类型 (True) 还是字符串类型 (False)。默认值为 False。
- bufferobject exposing the buffer interface or str, optional
数组数据起始的内存地址。默认值为 None,在这种情况下会创建一个新数组。
- offsetint, optional
从轴开头开始的固定步幅位移?默认值为 0。必须 >= 0。
- stridesarray_like of ints, optional
数组的步幅(有关完整说明,请参阅
strides)。默认值为 None。- order{‘C’, ‘F’}, optional
数组数据在内存中的存储顺序:“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。
对于 self 中的每个元素,如果元素中只有十进制字符,则返回 True。
isdigit()如果字符串中所有字符都是数字且至少有一个字符,则为每个元素返回 True,否则返回 False。
islower()如果字符串中所有带大小写字符都是小写且至少有一个带大小写字符,则为每个元素返回 True,否则返回 False。
对于 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])对于 indices 中所有 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)返回轴已转置的数组视图。
swapcase()对于 self 中的每个元素,返回字符串的副本,其中大写字符转换为小写,反之亦然。
take(indices[, axis, out, mode])返回一个由给定索引处 a 的元素构成的数组。
title()对于 self 中的每个元素,返回字符串的标题格式版本:单词以大写字符开头,所有剩余的大小写字符均为小写。
tofile(fid[, sep, format])将数组作为文本或二进制(默认)写入文件。
tolist()将数组作为
a.ndim级别深的 Python 标量嵌套列表返回。translate(table[, deletechars])对于 self 中的每个元素,返回字符串的副本,其中可选参数 deletechars 中出现的所有字符都被移除,剩余字符通过给定的翻译表映射。
transpose(*axes)返回轴已转置的数组视图。
upper()返回一个数组,其中 self 的元素已转换为大写。
view([dtype][, type])具有相同数据的新数组视图。
zfill(width)返回在长度为 width 的字符串中左侧用零填充的数字字符串。
tostring