陣列操作常式#

基本操作#

copyto(dst, src[, casting, where])

將值從一個陣列複製到另一個陣列,並在必要時進行廣播。

ndim(a)

傳回陣列的維度數量。

shape(a)

傳回陣列的形狀。

size(a[, axis])

傳回沿著給定軸的元素數量。

變更陣列形狀#

reshape(a, /[, shape, order, newshape, copy])

在不變更資料的情況下,為陣列提供新的形狀。

ravel(a[, order])

傳回一個連續的扁平化陣列。

ndarray.flat

陣列上的一維迭代器。

ndarray.flatten([order])

傳回摺疊成一維的陣列副本。

類似轉置的操作#

moveaxis(a, source, destination)

將陣列的軸移動到新的位置。

rollaxis(a, axis[, start])

向後滾動指定的軸,直到它位於給定的位置。

swapaxes(a, axis1, axis2)

交換陣列的兩個軸。

ndarray.T

轉置陣列的檢視。

transpose(a[, axes])

傳回軸已轉置的陣列。

permute_dims(a[, axes])

傳回軸已轉置的陣列。

matrix_transpose(x, /)

轉置矩陣(或矩陣堆疊)x

變更維度數量#

atleast_1d(*arys)

將輸入轉換為至少一維的陣列。

atleast_2d(*arys)

將輸入檢視為至少二維的陣列。

atleast_3d(*arys)

將輸入檢視為至少三維的陣列。

broadcast

產生一個模仿廣播的物件。

broadcast_to(array, shape[, subok])

將陣列廣播到新的形狀。

broadcast_arrays(*args[, subok])

將任意數量的陣列彼此廣播。

expand_dims(a, axis)

擴展陣列的形狀。

squeeze(a[, axis])

a 移除長度為一的軸。

變更陣列種類#

asarray(a[, dtype, order, device, copy, like])

將輸入轉換為陣列。

asanyarray(a[, dtype, order, device, copy, like])

將輸入轉換為 ndarray,但傳遞 ndarray 子類別。

asmatrix(data[, dtype])

將輸入解譯為矩陣。

asfortranarray(a[, dtype, like])

傳回以 Fortran 順序在記憶體中佈局的陣列 (ndim >= 1)。

ascontiguousarray(a[, dtype, like])

傳回記憶體中(C 順序)的連續陣列 (ndim >= 1)。

asarray_chkfinite(a[, dtype, order])

將輸入轉換為陣列,檢查是否有 NaN 或 Inf。

require(a[, dtype, requirements, like])

傳回符合需求的提供型別的 ndarray。

加入陣列#

concatenate([axis, out, dtype, casting])

沿著現有軸加入陣列序列。

concat([axis, out, dtype, casting])

沿著現有軸加入陣列序列。

stack(arrays[, axis, out, dtype, casting])

沿著新軸加入陣列序列。

block(arrays)

從區塊的巢狀清單組裝一個 nd-array。

vstack(tup, *[, dtype, casting])

依序垂直堆疊陣列(row wise)。

hstack(tup, *[, dtype, casting])

依序水平堆疊陣列(column wise)。

dstack(tup)

依序深度堆疊陣列(沿著第三軸)。

column_stack(tup)

將一維陣列作為欄堆疊到二維陣列中。

分割陣列#

split(ary, indices_or_sections[, axis])

將陣列分割成多個子陣列,作為檢視 ary

array_split(ary, indices_or_sections[, axis])

將陣列分割成多個子陣列。

dsplit(ary, indices_or_sections)

沿著第三軸(深度)將陣列分割成多個子陣列。

hsplit(ary, indices_or_sections)

水平(欄式)將陣列分割成多個子陣列。

vsplit(ary, indices_or_sections)

垂直(列式)將陣列分割成多個子陣列。

unstack(x, /, *[, axis])

沿著給定軸將陣列分割成陣列序列。

平鋪陣列#

tile(A, reps)

透過重複 A 給定的次數來建構陣列。

repeat(a, repeats[, axis])

在每個陣列元素之後重複它們

新增與移除元素#

delete(arr, obj[, axis])

傳回一個沿著軸刪除子陣列的新陣列。

insert(arr, obj, values[, axis])

在給定索引之前的給定軸上插入值。

append(arr, values[, axis])

將值附加到陣列的末尾。

resize(a, new_shape)

傳回具有指定形狀的新陣列。

trim_zeros(filt[, trim, axis])

移除沿著一個維度的值,這些值沿著所有其他維度都為零。

unique(ar[, return_index, return_inverse, ...])

尋找陣列的唯一元素。

pad(array, pad_width[, mode])

填充陣列。

重新排列元素#

flip(m[, axis])

沿著給定軸反轉陣列中元素的順序。

fliplr(m)

沿著軸 1 (左/右) 反轉元素的順序。

flipud(m)

沿著軸 0 (上/下) 反轉元素的順序。

roll(a, shift[, axis])

沿著給定軸滾動陣列元素。

rot90(m[, k, axes])

在軸指定的平面中將陣列旋轉 90 度。