Python列表、Numpy數組與矩陣的區別

轉載出處:https://blog.csdn.net/wyl1813240346/article/details/79806207

Python列表和Numpy數組的區別: 
Numpy使用ndarray對象來處理多維數組,該對象是一個快速而靈活的大數據容器。使用Python列表可以存儲一維數組,通過列表的嵌套可以實現多維數組,那麼爲什麼還需要使用Numpy呢?Numpy是專門針對數組的操作和運算進行了設計,所以數組的存儲效率和輸入輸出性能遠優於Python中的嵌套列表,數組越大,Numpy的優勢就越明顯。通常Numpy數組中的所有元素的類型都是相同的,而Python列表中的元素類型是任意的,所以在通用性能方面Numpy數組不及Python列表,但在科學計算中,可以省掉很多循環語句,代碼使用方面比Python列表簡單的多。

 

Numpy數組和矩陣的區別: 
1. Numpy matrices必須是2維的,但是 numpy arrays (ndarrays) 可以是多維的(1D,2D,3D····ND). Matrix是Array的一個小的分支,包含於Array。所以matrix 擁有array的所有特性。 
2. 在numpy中matrix的主要優勢是:相對簡單的乘法運算符號。例如,a和b是兩個matrices,那麼a*b,就是矩陣積。 
3. matrix 和 array 都可以通過objects後面加.T 得到其轉置。但是 matrix objects 還可以在後面加 .H f得到共軛矩陣, 加 .I 得到逆矩陣。 
4. 相反的是在numpy裏面arrays遵從逐個元素的運算,所以array:c 和d的c*d運算相當於matlab裏面的c.*d運算。而矩陣相乘,則需要numpy裏面的dot命令 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章