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]])

當我們轉置矩陣時,我們建立一個新的矩陣,其行是原始矩陣的列。另一方面,共軛轉置為每個矩陣元素交換行索引和列索引。矩陣的逆是一個矩陣,如果與原始矩陣相乘,則會產生單位矩陣。

廣告