Python矩陣和Numpy數(shù)組有什么聯(lián)系?
四、矩陣運算
兩個矩陣相加,兩個矩陣相乘以及一個矩陣轉(zhuǎn)置。在編寫這些程序之前,使用了嵌套列表。讓看看如何使用NumPy數(shù)組完成相同的任務(wù)。
兩種矩陣的加法
使用+運算符將兩個NumPy矩陣的對應(yīng)元素相加。
import numpy as np
A = np.a(chǎn)rray([[2, 4], [5, -6]])B = np.a(chǎn)rray([[9, -3], [3, 6]])C = A + B # 元素聰明的加法print(C)
兩個矩陣相乘
為了將兩個矩陣相乘,使用dot()方法。
注意:用于數(shù)組乘法(兩個數(shù)組的對應(yīng)元素的乘法),而不是矩陣乘法。
import numpy as np
A = np.a(chǎn)rray([[3, 6, 7], [5, -3, 0]])B = np.a(chǎn)rray([[1, 1], [2, 1], [3, -3]])C = A.dot(B)print(C)
矩陣轉(zhuǎn)置
使用numpy.transpose計算矩陣的轉(zhuǎn)置。
import numpy as np
A = np.a(chǎn)rray([[1, 1], [2, 1], [3, -3]])print(A.transpose())
注:
NumPy使的任務(wù)更加輕松。
五、案例
1. 訪問矩陣元素
與列表類似,可以使用索引訪問矩陣元素。讓從一維NumPy數(shù)組開始。
import numpy as npA = np.a(chǎn)rray([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
運行該程序時,輸出為:
現(xiàn)在,讓看看如何訪問二維數(shù)組(基本上是矩陣)的元素。
import numpy as np
A = np.a(chǎn)rray([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]])
# First element of first rowprint("A[0][0] =", A[0][0])
# Third element of second rowprint("A[1][2] =", A[1][2])
# Last element of last rowprint("A[-1][-1] =", A[-1][-1])
當(dāng)運行程序時,輸出將是:
2. 訪問矩陣的行
import numpy as np
A = np.a(chǎn)rray([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]])
print("A[0] =", A[0]) # First Rowprint("A[2] =", A[2]) # Third Rowprint("A[-1] =", A[-1]) # Last Row (3rd row in this case)
當(dāng)運行程序時,輸出將是:
3. 訪問矩陣的列
import numpy as np
A = np.a(chǎn)rray([[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]])
print("A[:,0] =",A[:,0]) # First Columnprint("A[:,3] =", A[:,3]) # Fourth Columnprint("A[:,-1] =", A[:,-1]) # Last Column (4th column in this case)
當(dāng)運行程序時,輸出將是:
注:
使用NumPy(而不是嵌套列表)可以更輕松地處理矩陣,而且甚至都沒有涉及基礎(chǔ)知識。建議詳細(xì)研究NumPy軟件包,尤其是當(dāng)嘗試將Python用于數(shù)據(jù)科學(xué)/分析時。
六、總結(jié)
本文基于Python基礎(chǔ),介紹了矩陣和NumPy數(shù)組,重點介紹了NumPy數(shù)組,如何去安裝NumPy模塊,如何去創(chuàng)建一個NumPy數(shù)組的兩種方式。
通過案例的分析,代碼的演示,運行效果圖的展示,使用Python語言,能夠讓讀者更好的理解。
讀者可以根據(jù)文章內(nèi)容,自己實現(xiàn)。有時候看到別人實現(xiàn)起來很簡單,但是到自己動手實現(xiàn)的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
代碼很簡單,希望對你學(xué)習(xí)有幫助。
請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
10月31日立即下載>> 【限時免費下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報名>>> 【在線會議】多物理場仿真助跑新能源汽車
-
11月28日立即報名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會議
-
12月19日立即報名>> 【線下會議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會
-
即日-12.26火熱報名中>> OFweek2024中國智造CIO在線峰會
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 高級軟件工程師 廣東省/深圳市
- 自動化高級工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市