numpy.char.array#

char.array(obj, itemsize=None, copy=True, unicode=None, order=None)[源代码]#

创建一个 chararray

注意

此类是为了向后兼容 numarray 而提供的。新代码(不涉及 numarray 兼容性)应使用类型为 bytes_str_ 的数组,并使用 numpy.char 中的自由函数来进行快速向量化字符串操作。

与 dtype 为 bytes_str_ 的 NumPy 数组相比,此类增加了以下功能:

  1. 索引时,值将自动从末尾删除空格。

  2. 比较时,比较运算符将自动从末尾删除空格。

  3. 向量化字符串操作作为方法(例如 chararray.endswith)和中缀运算符(例如 +, *, %)提供。

参数:
obj字符串或类似 Unicode 的数组
itemsize整数,可选

itemsize 是结果数组中每个标量字符的数量。如果 itemsize 为 None,并且 obj 是对象数组或 Python 列表,则将自动确定 itemsize。如果提供了 itemsize 并且 obj 的类型是 str 或 unicode,则 obj 字符串将被分割成 itemsize 块。

copybool, optional

如果为 True(默认),则将复制该对象。否则,只有当 __array__ 返回副本,如果 obj 是嵌套序列,或者为了满足任何其他要求(itemsize、unicode、order 等)需要副本时,才会创建副本。

unicode布尔值,可选

当为 True 时,结果 chararray 可以包含 Unicode 字符,当为 False 时,只能包含 8 位字符。如果 unicode 为 None 且 obj 是以下之一:

那么输出数组的 unicode 设置将自动确定。

order{‘C’, ‘F’, ‘A’}, optional

指定数组的顺序。如果 order 为 'C'(默认),则数组将是 C 连续顺序(最后一个索引变化最快)。如果 order 为 'F',则返回的数组将是 Fortran 连续顺序(第一个索引变化最快)。如果 order 为 'A',则返回的数组可以是任何顺序(C 连续、Fortran 连续,甚至是非连续)。

示例

>>> import numpy as np
>>> char_array = np.char.array(['hello', 'world', 'numpy','array'])
>>> char_array
chararray(['hello', 'world', 'numpy', 'array'], dtype='<U5')