numpy.char.array#

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

创建一个 chararray

注意

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

bytes_str_ 数据类型的 NumPy 数组相比,此类增加了以下功能:

  1. 索引时,值会自动移除末尾的空白字符

  2. 比较运算符在比较值时会自动移除末尾的空白字符

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

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

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

copy布尔型,可选

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

unicode布尔型,可选

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

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

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

指定数组的顺序。如果 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')