您好,登錄后才能下訂單哦!
小編給大家分享一下Python中矩陣和Numpy數組的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
使用嵌套列表和NumPy包的Python矩陣。矩陣是一種二維數據結構,其中數字按行和列排列。
Python沒有矩陣的內置類型。但是,可以將列表的列表視為矩陣。
例:
A = [[1, 4, 5], [-5, 8, 9]]
可以將此列表的列表視為具有2行3列的矩陣。
如圖:
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]] print("A =", A) print("A[1] =", A[1]) # 第二行 print("A[1][2] =", A[1][2]) # 第二行的第三元素 print("A[0][-1] =", A[0][-1]) # 第一行的最后一個元素 column = []; # 空 list for row in A: column.append(row[2]) print("3rd column =", column)
當運行程序時,輸出為:
NumPy是用于科學計算的軟件包,它支持強大的N維數組對象。
在使用NumPy之前,需要先安裝它。
如果使用Windows,使用PyCharm 安裝NumPy,NumPy它帶有一些其他與數據科學和機器學習有關的軟件包。
成功安裝了NumPy,就可以導入和使用它。
NumPy提供數字的多維數組(實際上是一個對象)。
例 :
import numpy as np a = np.array([1, 2, 3]) print(a) # 輸出: [1, 2, 3] print(type(a)) # 輸出: <class 'numpy.ndarray'>
NumPy的數組類稱為ndarray。
注:
NumPy的數組類稱為ndarray。
有幾種創建NumPy數組的方法。
import numpy as np A = np.array([[1, 2, 3], [3, 4, 5]]) print(A) A = np.array([[1.1, 2, 3], [3, 4, 5]]) # 浮點數組 print(A) A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # 復數數組 print(A)
運行效果:
import numpy as np zeors_array = np.zeros( (2, 3) ) print(zeors_array) ones_array = np.ones( (1, 5), dtype=np.int32 ) // dtype print(ones_array) # 輸出: [[1 1 1 1 1]]
在這里,指定dtype了32位(4字節)。因此,該數組可以采用從到的值。-2-312-31-1
import numpy as np A = np.arange(4) print('A =', A) B = np.arange(12).reshape(2, 6) print('B =', B)
兩個矩陣相加,兩個矩陣相乘以及一個矩陣轉置。在編寫這些程序之前,使用了嵌套列表。讓看看如何使用NumPy數組完成相同的任務。
兩種矩陣的加法
使用+運算符將兩個NumPy矩陣的對應元素相加。
import numpy as np A = np.array([[2, 4], [5, -6]]) B = np.array([[9, -3], [3, 6]]) C = A + B # 元素聰明的加法 print(C)
為了將兩個矩陣相乘,使用dot()方法。
注意:用于數組乘法(兩個數組的對應元素的乘法),而不是矩陣乘法。
import numpy as np A = np.array([[3, 6, 7], [5, -3, 0]]) B = np.array([[1, 1], [2, 1], [3, -3]]) C = A.dot(B) print(C)
使用numpy.transpose計算矩陣的轉置。
import numpy as np A = np.array([[1, 1], [2, 1], [3, -3]]) print(A.transpose())
注:
NumPy使的任務更加輕松。
與列表類似,可以使用索引訪問矩陣元素。讓從一維NumPy數組開始。
import numpy as np A = np.array([2, 4, 6, 8, 10]) print("A[0] =", A[0]) # First element print("A[2] =", A[2]) # Third element print("A[-1] =", A[-1]) # Last element
運行該程序時,輸出為:
現在,讓看看如何訪問二維數組(基本上是矩陣)的元素。
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) # First element of first row print("A[0][0] =", A[0][0]) # Third element of second row print("A[1][2] =", A[1][2]) # Last element of last row print("A[-1][-1] =", A[-1][-1])
當運行程序時,輸出將是:
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[0] =", A[0]) # First Row print("A[2] =", A[2]) # Third Row print("A[-1] =", A[-1]) # Last Row (3rd row in this case)
當運行程序時,輸出將是:
import numpy as np A = np.array([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]) print("A[:,0] =",A[:,0]) # First Column print("A[:,3] =", A[:,3]) # Fourth Column print("A[:,-1] =", A[:,-1]) # Last Column (4th column in this case)
當運行程序時,輸出將是:
注:
使用NumPy(而不是嵌套列表)可以更輕松地處理矩陣,而且甚至都沒有涉及基礎知識。建議詳細研究NumPy軟件包,尤其是當嘗試將Python用于數據科學/分析時。
以上是“Python中矩陣和Numpy數組的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。