轉載出處: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命令