
- SciPy 教程
- SciPy - 首頁
- SciPy - 簡介
- SciPy - 環境設定
- SciPy - 基本功能
- SciPy - 聚類
- SciPy - 常量
- SciPy - FFTpack
- SciPy - 積分
- SciPy - 插值
- SciPy - 輸入和輸出
- SciPy - 線性代數 (Linalg)
- SciPy - 影像處理 (Ndimage)
- SciPy - 最佳化
- SciPy - 統計
- SciPy - 壓縮稀疏圖 (CSGraph)
- SciPy - 空間
- SciPy - 正交距離迴歸 (ODR)
- SciPy - 特殊函式包
- SciPy 有用資源
- SciPy - 參考
- SciPy - 快速指南
- SciPy - 有用資源
- SciPy - 討論
SciPy - 基本功能
預設情況下,所有 NumPy 函式都可透過 SciPy 名稱空間訪問。匯入 SciPy 後,無需顯式匯入 NumPy 函式。NumPy 的主要物件是同構多維陣列。它是一個元素(通常是數字)的表格,所有元素型別相同,由正整數元組索引。在 NumPy 中,維度稱為軸。軸的數量稱為秩。
現在,讓我們回顧一下 NumPy 中向量和矩陣的基本功能。由於 SciPy 建立在 NumPy 陣列之上,因此瞭解 NumPy 基礎知識是必要的,因為線性代數的大部分內容都只處理矩陣。
NumPy 向量
可以透過多種方式建立向量。下面描述其中一些。
將 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) 函式將建立一個填充 0 值的陣列,其形狀已指定。預設 dtype 為 float64。讓我們考慮以下示例。
import numpy as np print np.zeros((2, 3))
上述程式的輸出如下。
array([[ 0., 0., 0.], [ 0., 0., 0.]])
使用 ones()
ones(shape) 函式將建立一個填充 1 值的陣列。在所有其他方面,它與 zeros 相同。讓我們考慮以下示例。
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. ])
矩陣
矩陣是一個專門的二維陣列,它透過運算保留其二維特性。它具有一些特殊的運算子,例如 *(矩陣乘法)和 **(矩陣冪)。讓我們考慮以下示例。
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') mat.T
上述程式將生成以下輸出。
matrix([[1, 3], [2, 4]])
當我們轉置矩陣時,我們建立一個新的矩陣,其行是原始矩陣的列。另一方面,共軛轉置為每個矩陣元素交換行索引和列索引。矩陣的逆是一個矩陣,如果與原始矩陣相乘,則會產生單位矩陣。