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
)和内联操作符(例如"+", "*", "%"
)提供
chararrays 应该使用
numpy.char.array
或numpy.char.asarray
创建,而不是直接使用这个构造函数.这个构造函数使用 buffer`(带有 `offset 和 strides)创建数组,如果它不是
None
.如果 buffer 是None
,则以”C 顺序”构造一个新数组,除非len(shape) >= 2
且order='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.
对于 self 中的每个元素,如果元素中只有十进制字符,则返回 True.
isdigit
()对于每个元素,如果字符串中的所有字符都是数字且至少有一个字符,则返回 true,否则返回 false.
islower
()对于字符串中的每个元素,如果所有有大小写的字符都是小写并且至少有一个有大小写的字符,则返回真,否则返回假.
对于 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)返回一个数组的视图,其中 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 的字符串,其中数字字符串左侧填充零.