numpy.char.chararray#
- class numpy.char.chararray(shape, itemsize=1, unicode=False, buffer=None, offset=0, strides=None, order=None)[原始碼]#
提供字串和 unicode 值的陣列的方便檢視。
注意
chararray
類別的存在是為了向後相容於 Numarray,不建議用於新的開發。從 numpy 1.4 開始,如果需要字串陣列,建議使用dtype
object_
、bytes_
或str_
的陣列,並使用numpy.char
模組中的自由函數進行快速向量化字串運算。相較於 dtype 為
bytes_
或str_
的 NumPy 陣列,此類別新增了以下功能當建立索引時,值會自動從結尾移除空白字元
當比較值時,比較運算子會自動從結尾移除空白字元
向量化字串運算以方法(例如
endswith
)和中綴運算子(例如"+"
、"*"
、"%"
)的形式提供
字元陣列應使用
numpy.char.array
或numpy.char.asarray
建立,而不是直接使用此建構函式。如果 buffer 不是
None
,則此建構函式會使用 buffer(以及 offset 和strides
)建立陣列。如果 buffer 是None
,則會以「C 順序」建構具有strides
的新陣列,除非len(shape) >= 2
且order='F'
皆成立,在這種情況下,strides
會是「Fortran 順序」。- 參數:
- shapetuple
陣列的形狀。
- itemsizeint,選用
每個陣列元素的長度,以字元數為單位。預設值為 1。
- unicodebool,選用
陣列元素是否為 unicode 類型 (True) 或字串 (False)。預設值為 False。
- buffer公開 buffer 介面的物件或 str,選用
陣列資料起始位置的記憶體位址。預設值為 None,在這種情況下會建立新陣列。
- offsetint,選用
從軸線起點的固定跨距位移?預設值為 0。必須 >=0。
- stridesarray_like of ints,選用
陣列的跨距(完整說明請參閱
strides
)。預設值為 None。- order{‘C’, ‘F’},選用
陣列資料儲存在記憶體中的順序:「C」->「row major」順序(預設值),「F」->「column major」(Fortran)順序。
範例
>>> import numpy as np >>> charar = np.char.chararray((3, 3)) >>> charar[:] = 'a' >>> charar chararray([[b'a', b'a', b'a'], [b'a', b'a', b'a'], [b'a', b'a', b'a']], dtype='|S1')
>>> charar = np.char.chararray(charar.shape, itemsize=5) >>> charar[:] = 'abc' >>> charar chararray([[b'abc', b'abc', b'abc'], [b'abc', b'abc', b'abc'], [b'abc', b'abc', b'abc']], dtype='|S5')
- 屬性:
T
轉置陣列的檢視。
base
如果記憶體來自其他物件,則為基礎物件。
ctypes
簡化陣列與 ctypes 模組互動的物件。
data
指向陣列資料起點的 Python buffer 物件。
- device
dtype
陣列元素的資料類型。
flags
關於陣列記憶體配置的資訊。
flat
陣列的一維迭代器。
imag
陣列的虛部。
- itemset
itemsize
一個陣列元素的長度(以位元組為單位)。
mT
矩陣轉置陣列的檢視。
nbytes
陣列元素消耗的總位元組數。
ndim
陣列維度的數量。
- newbyteorder
- ptp
real
陣列的實部。
shape
陣列維度的元組。
size
陣列中的元素數量。
strides
遍歷陣列時,在每個維度中步進的位元組元組。
方法
astype
(dtype[, order, casting, subok, copy])陣列的副本,轉換為指定的類型。
argsort
([axis, kind, order])傳回排序此陣列的索引。
copy
([order])傳回陣列的副本。
count
(sub[, start, end])傳回一個陣列,其中包含子字串 sub 在範圍 [start, end] 內的非重疊出現次數。
decode
([encoding, errors])逐元素呼叫
bytes.decode
。dump
(file)將陣列的 pickle 傾印到指定檔案。
dumps
()傳回陣列的 pickle 作為字串。
encode
([encoding, errors])逐元素呼叫
str.encode
。endswith
(suffix[, start, end])傳回布林陣列,當 self 中的字串元素以 suffix 結尾時為 True,否則為 False。
expandtabs
([tabsize])傳回每個字串元素的副本,其中所有 tab 字元都替換為一或多個空格。
fill
(value)以純量值填滿陣列。
find
(sub[, start, end])針對每個元素,傳回在字串中找到子字串 sub 的最低索引。
flatten
([order])傳回摺疊成一維的陣列副本。
getfield
(dtype[, offset])傳回給定陣列的欄位,作為特定類型。
index
(sub[, start, end])類似
find
,但當找不到子字串時,會引發ValueError
。isalnum
()如果字串中的所有字元都是英數字元且至少有一個字元,則針對每個元素傳回 true,否則傳回 false。
isalpha
()如果字串中的所有字元都是字母字元且至少有一個字元,則針對每個元素傳回 true,否則傳回 false。
針對 self 中的每個元素,如果元素中只有十進位字元,則傳回 True。
isdigit
()如果字串中的所有字元都是數字且至少有一個字元,則針對每個元素傳回 true,否則傳回 false。
islower
()如果字串中的所有大小寫字元都是小寫,且至少有一個大小寫字元,則針對每個元素傳回 true,否則傳回 false。
針對 self 中的每個元素,如果元素中只有數字字元,則傳回 True。
isspace
()如果字串中只有空白字元且至少有一個字元,則針對每個元素傳回 true,否則傳回 false。
istitle
()如果元素是標題大小寫字串且至少有一個字元,則針對每個元素傳回 true,否則傳回 false。
isupper
()如果字串中的所有大小寫字元都是大寫,且至少有一個大小寫字元,則針對每個元素傳回 true,否則傳回 false。
item
(*args)將陣列的元素複製到標準 Python 純量並傳回。
join
(seq)傳回一個字串,它是序列 seq 中字串的串連。
ljust
(width[, fillchar])傳回一個陣列,其中的 self 元素在長度為 width 的字串中靠左對齊。
lower
()傳回一個陣列,其中的 self 元素已轉換為小寫。
lstrip
([chars])針對 self 中的每個元素,傳回已移除開頭字元的副本。
nonzero
()傳回非零元素的索引。
put
(indices, values[, mode])為索引中的所有 n 設定
a.flat[n] = values[n]
。ravel
([order])傳回扁平化陣列。
repeat
(repeats[, axis])重複陣列的元素。
replace
(old, new[, count])針對 self 中的每個元素,傳回字串的副本,其中子字串 old 的所有出現次數都替換為 new。
reshape
(shape, /, *[, order, copy])傳回包含相同資料但具有新形狀的陣列。
resize
(new_shape[, refcheck])就地變更陣列的形狀和大小。
rfind
(sub[, start, end])針對 self 中的每個元素,傳回在字串中找到子字串 sub 的最高索引,使得 sub 包含在 [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
(val, dtype[, offset])將值放入資料類型定義的欄位中的指定位置。
setflags
([write, align, uic])分別設定陣列旗標 WRITEABLE、ALIGNED、WRITEBACKIFCOPY。
sort
([axis, kind, order])就地排序陣列。
split
([sep, maxsplit])針對 self 中的每個元素,傳回字串中的單字列表,使用 sep 作為分隔字串。
splitlines
([keepends])針對 self 中的每個元素,傳回元素中行的列表,在行邊界處斷行。
squeeze
([axis])從 a 中移除長度為一的軸線。
startswith
(prefix[, start, end])傳回布林陣列,當 self 中的字串元素以 prefix 開頭時為 True,否則為 False。
strip
([chars])針對 self 中的每個元素,傳回已移除開頭和結尾字元的副本。
swapaxes
(axis1, axis2)傳回軸線 axis1 和 axis2 互換的陣列檢視。
swapcase
()針對 self 中的每個元素,傳回字串的副本,其中大寫字元轉換為小寫,反之亦然。
take
(indices[, axis, out, mode])傳回從給定索引處的 a 元素形成的陣列。
title
()針對 self 中的每個元素,傳回字串的標題大小寫版本:單字以大寫字元開頭,所有其餘大小寫字元都是小寫。
tofile
(fid[, sep, format])將陣列寫入檔案作為文字或二進位檔(預設值)。
tolist
()以
a.ndim
層級深度巢狀 Python 純量列表形式傳回陣列。tostring
([order])與 tobytes 相容的別名,行為完全相同。
translate
(table[, deletechars])針對 self 中的每個元素,傳回字串的副本,其中移除了選用引數 deletechars 中出現的所有字元,並且其餘字元已透過給定的轉換表進行對應。
transpose
(*axes)傳回軸線已轉置的陣列檢視。
upper
()傳回一個陣列,其中的 self 元素已轉換為大寫。
view
([dtype][, type])具有相同資料的陣列新檢視。
zfill
(width)傳回在長度為 width 的字串中以零靠左填滿的數字字串。