Numpy多維陣列

2021-10-13 02:59:58 字數 1833 閱讀 7994

如果兩個矩陣的大小相同,我們可以使用算術運算子來進行兩個矩陣的計算。numpy將對兩個矩陣的對應位置進行操作處理。

當兩個矩陣的大小不同,只有當其中乙個矩陣的維度為1時(例如矩陣只有一列或一行),我們才能在不同大小的矩陣上進行這些算術運算,在這種情況下,numpy將其廣播規則用於該操作:

numpy為每個矩陣提供了一種dot()方法,可用於與其他矩陣進行點積運算:

上圖的底部新增了矩陣尺寸,以強調兩個矩陣在它們彼此面對的一側必須具有相同的尺寸。可以將此操作視覺化為如下所示:

當操作矩陣時,索引和切片操作變得更加靈活:

矩陣中函式的使用與一維陣列相同。

另外,不僅可以求解矩陣中的所有值,還可以使用axis引數在行或列之間進行計算:

當需要採用兩個矩陣的點積並​​需要對齊它們共同維度時,需要旋轉矩陣。numpy陣列有乙個方便的屬性,t用於獲取矩陣的轉置:

在更高階的應用中,可能會需要切換某個矩陣的維度。在機器學習應用程式中通常就是這種情況,其中某個模型期望輸入的某個形狀與您的資料集不同。

numpy的reshape()方法在這些情況下很有用。您只需將矩陣所需的新尺寸傳遞給它,numpy可以根據您的矩陣推斷出正確的維度:

numpy可以在任何維度上實現上面講到的知識,其中心資料結構稱為ndarray(n維陣列),原因很簡單。

在很多情況下,處理新維度只是在numpy函式的引數中新增逗號:

注意:當列印三維numpy陣列時,文字輸出會以不同於此處顯示的方式顯示陣列。numpy列印 n 維陣列的順序是,最後乙個軸最快迴圈,而第乙個軸最慢。這意味著np.ones((4,3,2))將列印為:

array([[[1., 1.],

[1., 1.],

[1., 1.]],

[[1., 1.],

[1., 1.],

[1., 1.]],

[[1., 1.],

[1., 1.],

[1., 1.]],

[[1., 1.],

[1., 1.],

[1., 1.]]])

numpy多維陣列

ndarray是一種多維陣列物件 data 1,2,3 4,5,6 arr np.array data,dtype np.int32 print arr print shape arr.shape print arr.ndim 1 2 3 4 5 6 shape 2,3 2np.arange 2,1...

Numpy 多維陣列(上)

載入包 from numpy import 有多種方式 使用 python 列表或元祖,使用 arange,linspace 等函式,從檔案中讀取資料。v array 1,2,3,4 m array 1,2 3,4 type v 型別檢視,結果為numpy 模組提供的 ndarray 型別 v.sh...

NumPy 如何構造多維陣列

start import numpy as np numpy.array object,dtype none,copy true,order k subok false,ndmin 0 a np.array 1,2 3,4 元組轉陣列 a np.array 1,2 3,4 列表轉陣列 numpy.z...