numpy.char.array#

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

创建一个 chararray

注意

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

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

  1. 索引值时,会自动去除末尾的空格。

  2. 比较运算符在比较值时会自动去除末尾的空格。

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

参数:
objstr 或 unicode 类数组
itemsizeint,可选

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

copybool,可选

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

unicodebool,可选

如果为 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')