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