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)和中綴運算子(例如 +, *, %)的形式提供

參數:
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')