SciPy 基礎功能

2021-09-28 16:42:38 字數 3609 閱讀 6255

預設情況下,所有numpy函式都可以在scipy(命名空間)中使用。當匯入scipy時,不需要顯式地匯入numpy函式。numpy的主要物件是n次多維陣列ndarray,scipy構建在ndarray陣列之上,ndarray是儲存單一資料型別的多維陣列。在numpy中,維度稱為軸,座標軸的數量稱為秩。

通常線性代數主要處理矩陣運算,現在,讓我們複習一下numpy中向量/陣列和矩陣的基本功能。

ndarray是numpy中最重要的類。

標準的python列表(list)中,元素是物件。如:l = [1, 2, 3],需要3個指標和三個整數物件,對於數值運算比較浪費資源。

與此不同,ndarray中元素直接儲存為原始資料,元素的型別由ndarray物件中的屬性dtype描述。

當ndarray陣列中的元素,通過索引或切片返回時,會根據dtype,從原始資料轉換成python物件,以便外部使用。

示例

將python類陣列物件轉換為numpy陣列

import numpy as np

list=[

1,2,

3,4]

arr = np.array(

list

)print

(arr)

print

(type

(arr)

)

輸出

[1 2 3 4]

>

numpy中,可以使用下面介紹的內建函式建立ndarrray陣列。

zeros()函式建立陣列,並且把陣列元素的值初始化為0,可以指定陣列形狀和資料型別。

示例

import numpy as np

print

(np.zeros((2

,3))

)

輸出

[

[0. 0. 0.]

[0. 0. 0.]

]

ones()函式建立陣列,並且把陣列元素的值初始化為1,可以指定陣列形狀和資料型別。

示例

import numpy as np

print

(np.ones((2

,3))

)

輸出

[

[1. 1. 1.]

[1. 1. 1.]

]

arange()函式建立遞增陣列。

示例

import numpy as np

print

(np.arange(7)

)

輸出

[0 1 2 3 4 5 6]
資料型別物件dtype,是描述陣列中元素資料型別的物件。

示例

import numpy as np

arr = np.arange(2,

10, dtype = np.

float

)print

(arr)

print

("陣列資料型別 :"

, arr.dtype)

輸出

[ 2. 3. 4. 5. 6. 7. 8. 9.]

陣列資料型別 : float64

linspace()函式建立乙個陣列,該陣列包含指定區間內均勻分布的值。

示例

import numpy as np

print

(np.linspace(1.

,4.,

6))

輸出

[1.  1.6 2.2 2.8 3.4 4. ]
矩陣是一種特殊的二維陣列,它有一些特殊的運算子,如*(矩陣乘法)和**(矩陣冪)。

示例

import numpy as np

print

(np.matrix(

'1 2; 3 4'

))

輸出

[

[1 2]

[3 4]

]

將矩陣的行列互換得到的新矩陣,稱為轉置矩陣。

示例

import numpy as np

mat = np.matrix(

'1 2; 3 4'

)mat.t

輸出

matrix(

[[1, 3],

[2, 4]

])

共軛就是矩陣每個元素都取共軛(複數的實部不變,虛部取負)。

共軛轉置就是先取共軛,再取轉置。

示例

import numpy as np

mat = np.matrix(

'1 2; 3 4'

)print

(mat.h)

輸出

matrix(

[[1, 3],

[2, 4]

])

單位矩陣在矩陣的乘法中,起著特殊的作用,如同數的乘法中的1。單位矩陣是個方陣,從左上角到右下角的對角線(稱為主對角線)上的元素均為1,除此以外全都為0。

示例

建立單位矩陣:

import numpy.matlib 

import numpy as np

print

(np.matlib.identity(5)

)

輸出

[

[1. 0. 0. 0. 0.]

[0. 1. 0. 0. 0.]

[0. 0. 1. 0. 0.]

[0. 0. 0. 1. 0.]

[0. 0. 0. 0. 1.]

]

逆矩陣的數學定義:存在矩陣m以及矩陣n,假如m*n = 矩陣i(identify matrix單位矩陣),那麼矩陣m和矩陣n互為逆矩陣。

示例

求乙個矩陣的逆矩陣:

import numpy as np

mat = np.matrix(

'1 2; 3 4'

)mat2 = mat.i

print

(mat2)

輸出

[

[-2. 1. ]

[ 1.5 -0.5]

]

SciPy 基礎功能

預設情況下,所有numpy函式都可以在scipy 命名空間 中使用。當匯入scipy時,不需要顯式地匯入numpy函式。numpy的主要物件是n次多維陣列ndarray,scipy構建在ndarray陣列之上,ndarray是儲存單一資料型別的多維陣列。在numpy中,維度稱為軸,座標軸的數量稱為秩...

Scipy 基礎 稀疏矩陣

稀疏矩陣,也即僅儲存非零元素,既提公升了矩陣操作的效率,也節省了記憶體。很多語言 平台都支援稀疏矩陣這一資料儲存結構,儘管語言 平台各異,但是多數採用相同的基本技術,即儲存矩陣所有的非零元素到乙個線性陣列中,並提供輔助陣列來描述原陣列中非零元素的位置。以下是幾種常見的稀疏矩陣儲存格式 不同的儲存形式...

scipy安裝 安裝Scipy失敗 解決途徑

這個問題困擾我一天,後來發現好簡單,忍不住記錄分享。症狀描述 在cmd 中輸入 pip install numpty pip install numpty 安裝numpy庫成功,但輸入 pip install scipy 安裝失敗,我嘗試很多方法都失敗。中間歷經曲折直接上答案。成功經驗 在shell...