numpy.ndarray#
- class numpy.ndarray(shape, dtype=float, buffer=None, offset=0, strides=None, order=None)[原始碼]#
陣列物件代表一個多維、同質的固定大小項目陣列。 相關聯的資料型別物件描述陣列中每個元素的格式(位元組順序、在記憶體中佔用多少位元組、是否為整數、浮點數或其他類型等)。
陣列應該使用
array
、zeros
或empty
建構(請參閱下方的「另請參閱」章節)。 此處給出的參數指的是用於實例化陣列的低階方法 (ndarray(…))。如需更多資訊,請參閱
numpy
模組並檢視陣列的方法和屬性。- 參數:
- (適用於 __new__ 方法;請參閱下方的「註解」)
- shape整數元組
已建立陣列的形狀。
- dtype資料型別,選填
任何可以被解釋為 numpy 資料型別的物件。
- buffer物件,公開緩衝區介面,選填
用於以資料填滿陣列。
- offset整數,選填
陣列資料在緩衝區中的偏移量。
- strides整數元組,選填
資料在記憶體中的步幅。
- order{‘C’, ‘F’},選填
列優先(C 風格)或行優先(Fortran 風格)順序。
另請參閱
array
建構陣列。
zeros
建立一個陣列,其每個元素皆為零。
empty
建立一個陣列,但使其已配置的記憶體保持不變(亦即,它包含「垃圾」)。
dtype
建立資料型別。
numpy.typing.NDArray
相對於其
dtype.type
的 ndarray 別名 generic。
註解
使用
__new__
建立陣列有兩種模式由於陣列在
__new__
方法之後已完全初始化,因此不需要__init__
方法。範例
這些範例說明了低階
ndarray
建構函式。 請參閱上方的「另請參閱」章節,以取得更輕鬆的 ndarray 建構方式。第一種模式,buffer 為 None
>>> import numpy as np >>> np.ndarray(shape=(2,2), dtype=float, order='F') array([[0.0e+000, 0.0e+000], # random [ nan, 2.5e-323]])
第二種模式
>>> np.ndarray((2,), buffer=np.array([1,2,3]), ... offset=np.int_().itemsize, ... dtype=int) # offset = 1*itemsize, i.e. skip first element array([2, 3])
- 屬性:
T
ndarray轉置陣列的檢視。
data
緩衝區指向陣列資料開頭的 Python 緩衝區物件。
dtype
dtype 物件陣列元素的資料型別。
flags
字典關於陣列記憶體佈局的資訊。
flat
numpy.flatiter 物件陣列上的 1 維迭代器。
imag
ndarray陣列的虛部。
real
ndarray陣列的實部。
size
整數陣列中的元素數量。
itemsize
整數一個陣列元素的長度(以位元組為單位)。
nbytes
整數陣列元素消耗的總位元組數。
ndim
整數陣列維度數量。
shape
整數元組陣列維度的元組。
strides
整數元組遍歷陣列時,在每個維度中步進的位元組元組。
ctypes
ctypes 物件簡化陣列與 ctypes 模組互動的物件。
base
ndarray如果記憶體來自其他物件,則為基礎物件。
方法
all
([axis, out, keepdims, where])如果所有元素評估為 True,則傳回 True。
any
([axis, out, keepdims, where])如果 a 的任何元素評估為 True,則傳回 True。
argmax
([axis, out, keepdims])傳回沿著給定軸之最大值的索引。
argmin
([axis, out, keepdims])傳回沿著給定軸之最小值的索引。
argpartition
(kth[, axis, kind, order])傳回將會分割此陣列的索引。
argsort
([axis, kind, order])傳回將會排序此陣列的索引。
astype
(dtype[, order, casting, subok, copy])陣列的副本,轉換為指定的型別。
byteswap
([inplace])交換陣列元素的位元組
choose
(choices[, out, mode])使用索引陣列從一組選項建構新的陣列。
clip
([min, max, out])傳回一個陣列,其值限制在
[min, max]
範圍內。compress
(condition[, axis, out])傳回沿著給定軸的這個陣列的選定切片。
conj
()複數共軛所有元素。
傳回逐元素複數共軛。
copy
([order])傳回陣列的副本。
cumprod
([axis, dtype, out])傳回沿著給定軸之元素的累積乘積。
cumsum
([axis, dtype, out])傳回沿著給定軸之元素的累積總和。
diagonal
([offset, axis1, axis2])傳回指定的對角線。
dump
(file)將陣列的 pickle 傾印到指定檔案。
dumps
()傳回陣列的 pickle 作為字串。
fill
(value)以純量值填滿陣列。
flatten
([order])傳回折疊成一個維度的陣列副本。
getfield
(dtype[, offset])傳回給定陣列的欄位作為某種類型。
item
(*args)將陣列的元素複製到標準 Python 純量並傳回。
max
([axis, out, keepdims, initial, where])傳回沿著給定軸的最大值。
mean
([axis, dtype, out, keepdims, where])傳回沿著給定軸之陣列元素的平均值。
min
([axis, out, keepdims, initial, where])傳回沿著給定軸的最小值。
nonzero
()傳回非零元素的索引。
partition
(kth[, axis, kind, order])以某種方式部分排序陣列中的元素,使第 k 個位置中元素的值位於排序陣列中應有的位置。
prod
([axis, dtype, out, keepdims, initial, ...])傳回給定軸上陣列元素的乘積
put
(indices, values[, mode])針對索引中的所有 n,設定
a.flat[n] = values[n]
。ravel
([order])傳回扁平化陣列。
repeat
(repeats[, axis])重複陣列的元素。
reshape
(shape, /, *[, order, copy])傳回一個包含相同資料但具有新形狀的陣列。
resize
(new_shape[, refcheck])就地變更陣列的形狀和大小。
round
([decimals, out])傳回 a,其中每個元素都四捨五入到給定的小數位數。
searchsorted
(v[, side, sorter])尋找應將 v 的元素插入 a 中的索引,以維持順序。
setfield
(val, dtype[, offset])將值放入資料型別定義的欄位中指定的位置。
setflags
([write, align, uic])分別設定陣列旗標 WRITEABLE、ALIGNED、WRITEBACKIFCOPY。
sort
([axis, kind, order])就地排序陣列。
squeeze
([axis])從 a 中移除長度為一的軸。
std
([axis, dtype, out, ddof, keepdims, where])傳回沿著給定軸之陣列元素的標準差。
sum
([axis, dtype, out, keepdims, initial, where])傳回給定軸上陣列元素的總和。
swapaxes
(axis1, axis2)傳回陣列的檢視,其中 axis1 和 axis2 互換。
take
(indices[, axis, out, mode])傳回從給定索引處 a 的元素形成的陣列。
tobytes
([order])建構包含陣列中原始資料位元組的 Python 位元組。
tofile
(fid[, sep, format])將陣列以文字或二進位(預設)寫入檔案。
tolist
()將陣列傳回為
a.ndim
層級深度的 Python 純量巢狀清單。tostring
([order])與
tobytes
相容的別名,行為完全相同。trace
([offset, axis1, axis2, dtype, out])傳回沿著陣列對角線的總和。
transpose
(*axes)傳回軸已轉置之陣列的檢視。
var
([axis, dtype, out, ddof, keepdims, where])傳回沿著給定軸之陣列元素的變異數。
view
([dtype][, type])具有相同資料之陣列的新檢視。
dot
to_device