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

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

如果 buffer 不是 None ,则此构造函数使用 buffer (带有 offsetstrides )创建数组. 如果 bufferNone ,则构造一个具有 “C order” 中 strides 的新数组,除非 len(shape) >= 2order='F' ,在这种情况下, strides 位于"Fortran order"中.

参数:
shape元组

数组的形状.

itemsizeint, optional

每个数组元素的长度,以字符数表示. 默认为 1.

unicodebool,可选

数组元素是 Unicode (True) 类型还是字符串 (False) 类型. 默认为 False.

buffer公开缓冲区接口的对象或str,可选

数组数据起点的内存地址. 默认为 None,在这种情况下,将创建一个新数组.

offsetint, optional

从轴的起点到固定步幅的位移? 默认为 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

一个在数组上进行 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])

对于 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 中移除长度为 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