日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python矩陣和Numpy數(shù)組的那些事兒

大家好,我是IT共享者,人稱皮皮。今天給大家介紹矩陣和NumPy數(shù)組。

一、什么是矩陣?

使用嵌套列表和NumPy包的Python矩陣。矩陣是一種二維數(shù)據(jù)結(jié)構(gòu),其中數(shù)字按行和列排列。

二、Python矩陣

1. 列表視為矩陣

Python沒有矩陣的內(nèi)置類型。但是,可以將列表的列表視為矩陣。

例:

 
 
 
 
  1. A = [[1, 4, 5],  
  2.     [-5, 8, 9]] 

可以將此列表的列表視為具有2行3列的矩陣。

如圖:

2. 如何使用嵌套列表。

 
 
 
 
  1. A = [[1, 4, 5, 12],  
  2.     [-5, 8, 9, 0], 
  3.     [-6, 7, 11, 19]] 
  4.  
  5. print("A =", A)  
  6. print("A[1] =", A[1])      # 第二行 
  7. print("A[1][2] =", A[1][2])   # 第二行的第三元素 
  8. print("A[0][-1] =", A[0][-1])   # 第一行的最后一個元素 
  9. column = [];        # 空 list 
  10. for row in A: 
  11.   column.append(row[2])    
  12.  
  13. print("3rd column =", column) 

當(dāng)運行程序時,輸出為:

三、NumPy數(shù)組

1. 什么是NumPy?

NumPy是用于科學(xué)計算的軟件包,它支持強大的N維數(shù)組對象。

在使用NumPy之前,需要先安裝它。

2. 如何安裝NumPy?

如果使用Windows,使用PyCharm 安裝NumPy,NumPy它帶有一些其他與數(shù)據(jù)科學(xué)和機器學(xué)習(xí)有關(guān)的軟件包。

成功安裝了NumPy,就可以導(dǎo)入和使用它。

NumPy提供數(shù)字的多維數(shù)組(實際上是一個對象)。

例 :

 
 
 
 
  1. import numpy as np 
  2. a = np.array([1, 2, 3]) 
  3. print(a)               # 輸出: [1, 2, 3] 
  4. print(type(a))         # 輸出:  

NumPy的數(shù)組類稱為ndarray。

注:

NumPy的數(shù)組類稱為ndarray。

3. 如何創(chuàng)建一個NumPy數(shù)組?

有幾種創(chuàng)建NumPy數(shù)組的方法。

3.1 整數(shù),浮點數(shù)和復(fù)數(shù)的數(shù)組

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[1, 2, 3], [3, 4, 5]]) 
  4. print(A) 
  5.  
  6. A = np.array([[1.1, 2, 3], [3, 4, 5]]) # 浮點數(shù)組 
  7. print(A) 
  8.  
  9. A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # 復(fù)數(shù)數(shù)組 
  10. print(A) 

運行效果:

3.2 零和一的數(shù)組

 
 
 
 
  1. import numpy as np 
  2.  
  3. zeors_array = np.zeros( (2, 3) ) 
  4. print(zeors_array) 
  5. ones_array = np.ones( (1, 5), dtype=np.int32 ) // dtype 
  6. print(ones_array)      # 輸出: [[1 1 1 1 1]] 

在這里,指定dtype了32位(4字節(jié))。因此,該數(shù)組可以采用從到的值。-2-312-31-1

3.使用arange()和shape()

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.arange(4) 
  4.  
  5. print('A =', A) 
  6.  
  7. B = np.arange(12).reshape(2, 6) 
  8.  
  9. print('B =', B) 

四、矩陣運算

兩個矩陣相加,兩個矩陣相乘以及一個矩陣轉(zhuǎn)置。在編寫這些程序之前,使用了嵌套列表。讓看看如何使用NumPy數(shù)組完成相同的任務(wù)。

兩種矩陣的加法

使用+運算符將兩個NumPy矩陣的對應(yīng)元素相加。

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[2, 4], [5, -6]]) 
  4. B = np.array([[9, -3], [3, 6]]) 
  5. C = A + B      # 元素聰明的加法 
  6. print(C) 

兩個矩陣相乘

為了將兩個矩陣相乘,使用dot()方法。

注意:用于數(shù)組乘法(兩個數(shù)組的對應(yīng)元素的乘法),而不是矩陣乘法。

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[3, 6, 7], [5, -3, 0]]) 
  4. B = np.array([[1, 1], [2, 1], [3, -3]]) 
  5. C = A.dot(B) 
  6. print(C) 

矩陣轉(zhuǎn)置

使用numpy.transpose計算矩陣的轉(zhuǎn)置。

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[1, 1], [2, 1], [3, -3]]) 
  4. print(A.transpose()) 

注:

NumPy使的任務(wù)更加輕松。

五、案例

1. 訪問矩陣元素

與列表類似,可以使用索引訪問矩陣元素。讓從一維NumPy數(shù)組開始。

 
 
 
 
  1. import numpy as np 
  2. A = np.array([2, 4, 6, 8, 10]) 
  3.  
  4. print("A[0] =", A[0])     # First element      
  5. print("A[2] =", A[2])     # Third element  
  6. print("A[-1] =", A[-1])   # Last element 

運行該程序時,輸出為:

現(xiàn)在,讓看看如何訪問二維數(shù)組(基本上是矩陣)的元素。

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[1, 4, 5, 12], 
  4.     [-5, 8, 9, 0], 
  5.     [-6, 7, 11, 19]]) 
  6.  
  7. #  First element of first row 
  8. print("A[0][0] =", A[0][0])   
  9.  
  10. # Third element of second row 
  11. print("A[1][2] =", A[1][2]) 
  12.  
  13. # Last element of last row 
  14. print("A[-1][-1] =", A[-1][-1]) 

當(dāng)運行程序時,輸出將是:

2. 訪問矩陣的行

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[1, 4, 5, 12],  
  4.     [-5, 8, 9, 0], 
  5.     [-6, 7, 11, 19]]) 
  6.  
  7. print("A[0] =", A[0]) # First Row 
  8. print("A[2] =", A[2]) # Third Row 
  9. print("A[-1] =", A[-1]) # Last Row (3rd row in this case) 

當(dāng)運行程序時,輸出將是:

3. 訪問矩陣的列

 
 
 
 
  1. import numpy as np 
  2.  
  3. A = np.array([[1, 4, 5, 12],  
  4.     [-5, 8, 9, 0], 
  5.     [-6, 7, 11, 19]]) 
  6.  
  7. print("A[:,0] =",A[:,0]) # First Column 
  8. print("A[:,3] =", A[:,3]) # Fourth Column 
  9. print("A[:,-1] =", A[:,-1]) # Last Column (4th column in this case) 

當(dāng)運行程序時,輸出將是:

注:

使用NumPy(而不是嵌套列表)可以更輕松地處理矩陣,而且甚至都沒有涉及基礎(chǔ)知識。建議詳細研究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í)有幫助。


網(wǎng)頁標題:Python矩陣和Numpy數(shù)組的那些事兒
網(wǎng)址分享:http://m.5511xx.com/article/coidpoe.html