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 )和中缀运算符(例如 "+" , "*" , "%" )的形式提供

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

如果 buffer 不为 None ,则此构造函数使用 buffer (带有 offsetstrides )创建数组. 如果 bufferNone ,则构造一个带有“C 顺序”的 strides 的新数组,除非 len(shape) >= 2order='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)

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

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