預設情況下,所有的NumPy函式都可以通過SciPy名稱空間獲得。 當匯入SciPy時,不需要顯式匯入NumPy函式。 NumPy的主要目標是均勻多維陣列。 它是一個元素表(通常是數位),都是相同型別,由正整數的元組索引。 在NumPy中,大小(尺寸)被稱為軸。 軸的數量稱為等級。
現在,讓修改NumPy中的Vectors和Matrices的基本功能。 由於SciPy構建在NumPy陣列之上,因此需要了解NumPy基礎知識。 由於線性代數的大多數部分只處理矩陣。
NumPy向量
向量(Vector)可以通過多種方式建立。 其中一些描述如下。
將Python陣列類物件轉換為NumPy中的陣列,看看下面的例子。
import numpy as np
list = [1,2,3,4]
arr = np.array(list)
print (arr)
執行上面範例程式碼,得到以下結果 -
[1 2 3 4]
NumPy有從頭開始建立陣列的內建函式。 其中一些函式解釋如下。
使用zeros()
zeros(shape)
函式將建立一個用指定形狀(shape)填充0
值的陣列。 預設dtype
是float64
。 看看下面的例子。
import numpy as np
print (np.zeros((2, 3)))
執行上面範例程式碼,得到以下結果 -
array([[ 0., 0., 0.],
[ 0., 0., 0.]])
使用ones()
ones(shape)
函式將建立一個填充1
值的陣列。 它在所有其他方面與0
相同。 看看下面的例子。
import numpy as np
print (np.ones((2, 3)))
執行上面範例程式碼,得到以下結果 -
array([[ 1., 1., 1.],
[ 1., 1., 1.]])
使用arange()
arange()
函式將建立具有有規律遞增值的陣列。 看看下面的例子。
import numpy as np
print (np.arange(7))
執行上面範例程式碼,得到以下結果 -
array([0, 1, 2, 3, 4, 5, 6])
定義值的資料型別
看看下面一段範例程式碼 -
import numpy as np
arr = np.arange(2, 10, dtype = np.float)
print (arr)
print ()"Array Data Type :",arr.dtype)
執行上面範例程式碼,得到以下結果 -
[ 2. 3. 4. 5. 6. 7. 8. 9.]
Array Data Type : float64
使用linspace()
linspace()
函式將建立具有指定數量元素的陣列,這些元素將在指定的開始值和結束值之間平均間隔。 看看下面的例子。
import numpy as np
print (np.linspace(1., 4., 6))
執行上面範例程式碼,得到以下結果 -
array([ 1. , 1.6, 2.2, 2.8, 3.4, 4. ])
矩陣是一個專門的二維陣列,通過操作保留其2-D
特性。 它有一些特殊的運算子,如*
(矩陣乘法)和**
(矩陣冪值)。 看看下面的例子。
import numpy as np
print (np.matrix('1 2; 3 4'))
執行上面範例程式碼,得到以下結果 -
matrix([[1, 2],
[3, 4]])
矩陣的共軛轉置
此功能返回自我的(複數)共軛轉置。 看看下面的例子。
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.H)
執行上面範例程式碼,得到以下結果 -
matrix([[1, 3],
[2, 4]])
矩陣的轉置
此功能返回自身的轉置。看看下面的例子。
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.T)
執行上面範例程式碼,得到以下結果 -
matrix([[1, 3],
[2, 4]])
當轉置一個矩陣時,我們建立一個新的矩陣,其行是原始的列。 另一方面,共軛轉置為每個矩陣元素交換行和列索引。 矩陣的逆矩陣是一個矩陣,如果與原始矩陣相乘,則產生一個單位矩陣。