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 开始,如果需要字符串数组,建议使用 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,则构造一个带有“C 顺序”的 strides 的新数组,除非len(shape) >= 2且order='F',在这种情况下, strides 为“Fortran 顺序”.- 参数:
- shape元组
数组的形状.
- itemsize整数,可选
每个数组元素的长度,以字符数表示.默认为 1.
- unicodebool, 可选
数组元素是 unicode 类型(True)还是字符串类型(False).默认为 False.
- buffer公开缓冲接口的对象或 str,可选
数组数据起点的内存地址. 默认为 None,在这种情况下将创建一个新数组.
- offset整数,可选
从轴的开头开始的固定步幅位移? 默认为 0.需要 >=0.
- stridesarray_like of ints, optional
数组的步幅(有关完整说明,请参见
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.
isdecimal()对于 self 中的每个元素,如果元素中只有十进制字符,则返回 True.
isdigit()如果字符串中的所有字符都是数字并且至少有一个字符,则对每个元素返回 true,否则返回 false.
islower()如果字符串中的所有区分大小写的字符都是小写,并且至少有一个区分大小写的字符,则对每个元素返回 true,否则返回 false.
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])返回一个数组,该数组的元素在长度为 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 中删除长度为 1 的轴.
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标量的嵌套列表返回.translate(table[, deletechars])对于 self 中的每个元素,返回一个字符串的副本,其中删除了可选参数 deletechars 中出现的所有字符,并且剩余的字符已通过给定的转换表进行了映射.
transpose(axes)返回一个轴转置的数组视图.
upper()返回一个数组,其中 self 的元素已转换为大写.
view([dtype][, type])具有相同数据的新数组视图.
zfill(width)返回一个左侧用零填充的数字字符串,长度为 width .
tostring