numpy.ndarray#
- class numpy.ndarray(shape, dtype=np.float64, buffer=None, offset=0, strides=None, order=None)[原始碼]#
陣列物件表示固定大小項的多維、同質陣列。關聯的資料型別物件描述了陣列中每個元素的格式(其位元組順序、在記憶體中佔用的位元組數、是整數、浮點數還是其他什麼,等等)。
陣列應使用
array、zeros或empty(請參閱下面的“另請參閱”部分)來構造。此處給出的引數指的是例項化陣列的底層方法(ndarray(…))。有關更多資訊,請參閱
numpy模組,並檢查陣列的方法和屬性。- 引數:
- (適用於 __new__ 方法;請參閱下面的“註釋”)
- shape整數元組
建立陣列的形狀。
- dtype資料型別,可選
任何可以解釋為 numpy 資料型別的物件。預設為
numpy.float64。- buffer暴露 buffer 介面的物件,可選
用於用資料填充陣列。
- offsetint, optional
緩衝區中陣列資料的偏移量。
- strides整數元組,可選
記憶體中資料的步幅。
- order{‘C’, ‘F’}, optional
行主序(C 風格)或列主序(Fortran 風格)順序。
- 屬性:
Tndarray轉置陣列的檢視。
data緩衝區 (buffer)指向陣列資料起始位置的 Python 緩衝區物件。
dtypedtype 物件陣列元素的**資料型別**。
flags字典 (dict)有關陣列記憶體佈局的資訊。
flatnumpy.flatiter 物件陣列的 1-D 迭代器。
imagndarray陣列的虛部。
realndarray陣列的實部。
size整數 (int)陣列中的元素數量。
itemsize整數 (int)陣列一個元素佔用的位元組數。
nbytes整數 (int)陣列元素消耗的總位元組數。
ndim整數 (int)陣列的維度數。
shape整數元組陣列的維度元組。
strides整數元組遍歷陣列時,每個維度需要跳過的位元組數。
ctypesctypes 物件一個簡化陣列與 ctypes 模組互動的物件。
basendarray如果記憶體來自其他物件,則為基物件。
方法
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, stable, descending])返回將此陣列排序的索引。
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])返回指定的對角線。
dot(other, /[, out])有關完整文件,請參閱
numpy.dot。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-th 位置的元素處於它在已排序陣列中的位置。
prod([axis, dtype, out, keepdims, initial, ...])返回陣列元素在給定軸上的乘積
put(indices, values[, mode])對於所有
indices中的n,設定a.flat[n] = values[n]。ravel([order])返回一個展平的陣列。
repeat(repeats[, axis])重複陣列中的元素。
reshape(a.reshape)返回一個具有新形狀的包含相同資料的陣列。
resize(a.resize)原地更改陣列的形狀和大小。
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, stable, descending])就地排序陣列。
squeeze([axis])從 a 中移除長度為一的軸。
std([axis, dtype, out, ddof, keepdims, ...])返回給定軸上陣列元素的標準差。
sum([axis, dtype, out, keepdims, initial, where])沿給定軸返回陣列元素的總和。
swapaxes(axis1, axis2, /)返回陣列的檢視,其中 axis1 和 axis2 已交換。
take(indices[, axis, out, mode])從 a 中按給定索引返回一個由元素組成的陣列。
to_device(device, /, *[, stream])為了 Array API 相容性。
tobytes([order])構建包含陣列原始資料位元組的 Python bytes 物件。
tofile(fid, /[, sep, format])將陣列以文字或二進位制(預設)形式寫入檔案。
tolist()將陣列作為深度為
a.ndim的巢狀 Python 標量列表返回。trace([offset, axis1, axis2, dtype, out])返回陣列對角線上的元素之和。
transpose(*axes)返回一個檢視,其中陣列的軸已轉置。
var([axis, dtype, out, ddof, keepdims, ...])返回陣列元素在給定軸上的方差。
view([dtype][, type])具有相同資料的陣列的新檢視。
另請參閱
array構造一個數組。
zeros建立一個數組,其每個元素都為零。
empty建立一個數組,但保持其已分配的記憶體不變(即,它包含“垃圾”)。
dtype建立資料型別。
numpy.typing.NDArray一個 ndarray 別名,相對於其
dtype.type是 通用型別。
備註
使用
__new__建立陣列有兩種模式:由於陣列在
__new__方法之後已完全初始化,因此不需要__init__方法。示例
這些示例演示了底層的
ndarray建構函式。請參閱上方的“參見 (See Also)”部分,瞭解構建 ndarray 的更簡便方法。第一種模式,buffer 為 None
>>> import numpy as np >>> np.ndarray(shape=(2,2), dtype=np.float64, 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=np.int_) # offset = 1*itemsize, i.e. skip first element array([2, 3])