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值的陣列。 預設dtypefloat64。 看看下面的例子。

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

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