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, 可选
每个数组元素的长度(以字符数计)。默认为 1。
- unicodebool, 可选
数组元素的类型是 Unicode(True)还是字符串(False)。默认为 False。
- buffer公开缓冲区接口的对象或 str,可选
数组数据起始内存地址。默认为 None,在这种情况下会创建一个新数组。
- offsetint, 可选
从轴的开头开始的固定步长位移?默认为 0。需要 >=0。
- stridesarray_like of ints, 可选
数组的步长(有关完整说明,请参阅
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
数组上的 1-D 迭代器。
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])对于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])查找应在a中插入v的元素以保持顺序的索引。
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)返回交换了axis1和axis2的数组视图。
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。