詳解Python如何循環(huán)遍歷Numpy中的Array
1. 引言
Numpy是Python中常見的數(shù)據(jù)處理庫。Numpy是 Numerical Python的縮寫,它是數(shù)據(jù)科學中經(jīng)常使用的庫。Numpy專門用于處理矩陣運算,因為它包含各式各樣的處理函數(shù)。在本文中,我們主要用于學習如何迭代遍歷訪問矩陣中的元素。
閑話少說,我們直接開始吧!
2. 使用For循環(huán)遍歷
首先我們來看個例子,使用循環(huán)來遍歷數(shù)組,樣例代碼如下:
import numpy as np array = np.array([1, 2, 3, 4, 5, 6]) for x in array: print(x) Output: 1 2 3 4 5 6
在上面的例子中,我們創(chuàng)建了一個一維數(shù)組,并成功地遍歷訪問了每個值?,F(xiàn)在讓我們來看一個二維矩陣中的例子:
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6]]) for x in array: for y in x: print(y) Output: 1 2 3 4 5 6
正如我們在上面例子中所看到的,我們?nèi)匀荒軌虼蛴〕雒總€單獨的值。因為它是一個二維數(shù)組,所以我們必須使用兩個for循環(huán)來輸出每個單獨的值。這是我們通常迭代二維數(shù)組的方式,但NumPy為我們提供了新的函數(shù),使得迭代NumPy數(shù)組變得更容易。
3. 函數(shù) nditer()
函數(shù)nditer()主要用于循環(huán)遍歷整個數(shù)組,而無需為每個額外維度使用嵌套for循環(huán)。
我們不妨來看一個例子:
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) for x in np.nditer(array): print(x) Output: 1 2 3 4 5 6 7 8 9
上述例子是一個二維的數(shù)組,我們使用函數(shù)nditer()后,我們不需要再使用嵌套的for循環(huán)。函數(shù)‘nditer()’成功地f訪問并打印了數(shù)組中的每個值。
我們不妨在來看一個三維數(shù)組的例子,樣例如下:
import numpy as np array = np.array([[[1], [2]], [[3], [4]]]) for x in np.nditer(array): print(x) Output: 1 2 3 4
正如我們在上面的例子中所看到的,函數(shù)nditer()成功地迭代了三維數(shù)組中的每個元素。
4. 函數(shù) ndenumerate()
接著我們來介紹函數(shù)ndenumerate(),該函數(shù)的作用是輸出相應的索引號的對應的值。
樣例代碼如下:
import numpy as np array = np.array([1, 2, 3, 4, 5, 6]) for i, x in np.ndenumerate(array): print(i, x) Output: (0,) 1 (1,) 2 (2,) 3 (3,) 4 (4,) 5 (5,) 6
正如上述例子中,我們在括號內(nèi)輸出了每個元素的索引號及其相應的值。接著我們再來看一個二維矩陣的例子:
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6]]) for i, x in np.ndenumerate(array): print(i, x) Output: (0, 0) 1 (0, 1) 2 (0, 2) 3 (1, 0) 4 (1, 1) 5 (1, 2) 6
在上述例子中,我們輸出的第一維表示每個元素的索引號,第二維表示每個元素的值。
5. 結(jié)論
本文重點介紹了在Numpy中常用的兩個函數(shù)nditer()以及ndenumerate(),這兩個函數(shù)在高維數(shù)組中循環(huán)遍歷時非常有用,希望大家可以在日常工作中多多使用。
到此這篇關(guān)于詳解Python如何循環(huán)遍歷Numpy中的Array的文章就介紹到這了,更多相關(guān)Python遍歷Numpy Array內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
成功解決ValueError:?Supported?target?types?are:('binary
本文給大家分享成功解決ValueError:?Supported?target?types?are:('binary',?'multiclass').?Got?'continuous'?instead.的錯誤問題,需要的朋友可以參考下2023-03-03Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)列表與元組示例詳解
這篇文章主要給大家介紹了關(guān)于Python內(nèi)置數(shù)據(jù)結(jié)構(gòu)列表與元組的相關(guān)資料,列表是順序存儲的數(shù)據(jù)結(jié)構(gòu),類似于數(shù)據(jù)結(jié)構(gòu)中的順序表,在存儲上是相連的一大塊內(nèi)存空間,在物理和邏輯上都是連續(xù)的,需要的朋友可以參考下2021-08-08OpenCV+Python3.5 簡易手勢識別的實現(xiàn)
這篇文章主要介紹了OpenCV+Python3.5 簡易手勢識別的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12構(gòu)建高效的python requests長連接池詳解
這篇文章主要介紹了構(gòu)建高效的python requests長連接池詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05Django 解決上傳文件時,request.FILES為空的問題
這篇文章主要介紹了Django 解決上傳文件時,request.FILES為空的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05