Scipy基本功能
默認情況下,所有的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數組創建
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]])
當轉置一個矩陣時,我們創建一個新的矩陣,其行是原始的列。 另一方面,共軛轉置爲每個矩陣元素交換行和列索引。 矩陣的逆矩陣是一個矩陣,如果與原始矩陣相乘,則產生一個單位矩陣。