numpy.chararray

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.chararray.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

class numpy.chararray[source]

提供了一个方便的查看数组的字符串和unicode值。

注意

存在chararray类以向后兼容Numarray,因此不推荐用于新开发。Starting from numpy 1.4, if one needs arrays of strings, it is recommended to use arrays of dtype object_, string_ or unicode_, and use the free functions in the numpy.char module for fast vectorized string operations.

与类型strunicode的常规Numpy数组相比,此类添加了以下功能:

  1. 值将在索引时自动从结尾处删除空格
  2. 比较运算符在比较值时从结尾自动删除空格
  3. 向量化字符串操作作为方法(例如endswith)和中缀运算符(例如,“+”, “*”, “%”

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

如果不是None,则此构造函数使用缓冲区偏移strides)创建数组。如果缓冲区None,则在“C顺序”中构建一个新的数组与strides,除非len ) > = 2order='Fortran',在这种情况下strides

参数:

shape:tuple

数组的形状。

itemsize:int,可选

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

unicode:bool,可选

是数组元素类型unicode(True)或字符串(False)。默认值为False。

缓冲:int,可选

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

offset:int,可选

固定步幅位移从一个轴的开始?默认值为0。需要> = 0。

strides:array_like of ints,可选

数组的步幅(有关完整说明,请参阅ndarray.strides)。默认值为None。

order:{'C','F'},可选

数组数据存储在存储器中的顺序:'C' - >“行主”顺序(默认),'F' - >“列主”(Fortran)顺序。

例子

>>> charar = np.chararray((3, 3))
>>> charar[:] = 'a'
>>> charar
chararray([['a', 'a', 'a'],
       ['a', 'a', 'a'],
       ['a', 'a', 'a']],
      dtype='|S1')
>>> charar = np.chararray(charar.shape, itemsize=5)
>>> charar[:] = 'abc'
>>> charar
chararray([['abc', 'abc', 'abc'],
       ['abc', 'abc', 'abc'],
       ['abc', 'abc', 'abc']],
      dtype='|S5')

属性

T 与self.transpose()相同,除非self是self.ndim返回
base 如果内存是来自某个其他对象的基本对象。
ctypes 一个对象,用于简化数组与ctypes模块的交互。
data Python缓冲区对象指向数组的数据的开始。
dtype 数组元素的数据类型。
flags 有关数组的内存布局的信息。
flat 数组上的1-D迭代器。
imag 数组的虚部。
itemsize 一个数组元素的长度(以字节为单位)。
nbytes 数组的元素消耗的总字节数。
ndim 数组尺寸数。
real 数组的真实部分。
shape 数组维数组。
size 数组中的元素数。
strides 遍历数组时,在每个维度中步进的字节数组。

方法

astype(dtype [,order,casting,subok,copy]) 数组的复制,强制转换为指定的类型。
copy([order]) 返回数组的副本。
count(sub [,start,end]) 返回一个数组,其中在[开始结束]范围内具有子串sub的不重叠出现次数。
decode([encoding,errors]) 逐个调用str.decode
dump(file) 将数组的pickle转储到指定的文件。
dumps() 以字符串形式返回数组的pickle。
encode([encoding,errors]) 逐个调用str.encode
endswith(suffix [,start,end]) 返回True的布尔数组,self中的字符串元素以后缀结尾,否则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在长度宽度的字符串中左对齐。
lower() 返回一个数组,其中元素self转换为小写。
lstrip([chars]) 对于self中的每个元素,返回一个删除了前导字符的副本。
nonzero() 返回非零元素的索引。
put(indices,values [,mode]) 对于所有n,设置a.flat [n] = 在指数。
ravel([order]) 返回展平的数组。
repeat(重复[,轴]) 重复数组的元素。
replace(old,new [,count]) 对于self中的每个元素,返回一个字符串的副本,其中所有出现的子字符串old替换为new
reshape(shape [,order]) 返回包含具有新形状的相同数据的数组。
resize(new_shape [,refcheck]) 就地更改数组的形状和大小。
rfind(sub [,start,end]) For each element in self, return the highest index in the string where substring sub is found, such that sub is contained within [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 将值放入由数据类型定义的字段中的指定位置。
setflags([write,align,uic]) 分别设置数组标志WRITEABLE,ALIGNED和UPDATEIFCOPY。
sort([axis,kind,order]) 就地对数组进行排序。
split([sep,maxsplit]) 对于self中的每个元素,使用sep作为分隔符字符串返回字符串中的单词列表。
splitlines([keepends]) 对于self中的每个元素,返回元素中的行的列表,在行边界处断开。
squeeze([axis]) a形状中删除单维条目
startswith(prefix [,start,end]) 返回True的布尔数组,其中self中的字符串元素以前缀开头,否则为False
strip([chars]) 对于self中的每个元素,返回一个删除前导和尾随字符的副本。
swapaxes(axis1,axis2) 返回数组的视图,其中axis1axis2互换。
swapcase() 对于self中的每个元素,返回大写字符的字符串的副本转换为小写,反之亦然。
take(indices [,axis,out,mode]) 返回由给定索引处的a元素组成的数组。
title() 对于self中的每个元素,返回字符串的缩排版本:字词以大写字符开头,所有剩余的套用字符都是小写字母。
tofile(fid [,sep,format]) 将数组作为文本或二进制(默认)写入文件。
tolist() 将数组返回为(可能是嵌套的)列表。
tostring([order]) 在数组中构造包含原始数据字节的Python字节。
translate(table [,deletechars]) 对于self中的每个元素,返回字符串的副本,其中可选参数deletechars中出现的所有字符都将被删除,其余字符已通过给定的转换表。
transpose(\ * axes) 返回具有轴转置的数组的视图。
upper() 返回具有转换为大写的self元素的数组。
view([dtype,type]) 数组的新视图与相同的数据。
zfill(width) 返回长度width的字符串中以零填充的数字字符串。
argsort