np.repeat()函數(shù)的具體使用
在 numpy 模塊中的 repeat 函數(shù),總是會(huì)出現(xiàn)設(shè)置 axis 坐標(biāo)軸的情況,這時(shí)的坐標(biāo)軸有時(shí)候就顯的十分混亂,每到此處就不知道該給 axis 什么值。特寫一篇博客來詳細(xì)說明這個(gè)問題。
使用np.repeat()展平二維數(shù)組
代碼如下:
import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.array1 = np.array([[1, 2], [3, 4]]) ? ? def mainProgram(self): ? ? ? ? print("The value of array1 is: ") ? ? ? ? print(self.array1) ? ? ? ? print("The repeated array is: ") ? ? ? ? array2 = np.repeat(self.array1, repeats=1) ? ? ? ? print(array2) if __name__ == '__main__': ? ? main = Debug() ? ? main.mainProgram() """ The value of array1 is:? [[1 2] ?[3 4]] The repeated array is:? [1 2 3 4] """ ? ?
我們可以看到我們輸入的是一個(gè)二維數(shù)組,當(dāng)我們?cè)O(shè)定 repeats 值為 1 時(shí),輸出結(jié)果變成了一個(gè)一維數(shù)組,因此這時(shí)的 np.repeats 函數(shù)類似numpy.ndarray.flatten()函數(shù)的功能。
np.repeat()函數(shù)的坐標(biāo)軸問題
接下來我們研究一下關(guān)于 axis 坐標(biāo)軸的問題。
二維
對(duì)于數(shù)組是二維的情況,代碼如下:
import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.array1 = np.array([[1, 2], [3, 4]]) ? ? def mainProgram(self): ? ? ? ? print("The value of array1 is: ") ? ? ? ? print(self.array1) ? ? ? ? print("The array2 is: ") ? ? ? ? array2 = np.repeat(self.array1, repeats=2, axis=0) ? ? ? ? print(array2) ? ? ? ? print("The array3 is: ") ? ? ? ? array3 = np.repeat(self.array1, repeats=2, axis=1) ? ? ? ? print(array3) if __name__ == '__main__': ? ? main = Debug() ? ? main.mainProgram() """ The value of array1 is:? [[1 2] ?[3 4]] The array2 is:? [[1 2] ?[1 2] ?[3 4] ?[3 4]] The array3 is:? [[1 1 2 2] ?[3 3 4 4]] """
我們可以看到,axis=0 時(shí)表示沿著y方向重復(fù),axis=1 時(shí)表示沿著x方向重復(fù)。我們可以對(duì)比numpy數(shù)組的坐標(biāo)軸表示,二維時(shí),坐標(biāo)軸為 (y, x),從左向右第一個(gè)參數(shù) 0 便代表 y 軸,1 代表 x軸。
三維
接下來我們研究一下數(shù)組是三維的情況,代碼如下:
import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.array1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) ? ? def mainProgram(self): ? ? ? ? print("The value of array1 is: ") ? ? ? ? print(self.array1) ? ? ? ? print("The array2 is: ") ? ? ? ? array2 = np.repeat(self.array1, repeats=2, axis=0) ? ? ? ? print(array2) ? ? ? ? print("The array3 is: ") ? ? ? ? array3 = np.repeat(self.array1, repeats=2, axis=1) ? ? ? ? print(array3) ? ? ? ? print("The array4 is: ") ? ? ? ? array4 = np.repeat(self.array1, repeats=2, axis=2) ? ? ? ? print(array4) if __name__ == '__main__': ? ? main = Debug() ? ? main.mainProgram() """ The value of array1 is:? [[[1 2] ? [3 4]] ?[[5 6] ? [7 8]]] The array2 is:? [[[1 2] ? [3 4]] ?[[1 2] ? [3 4]] ?[[5 6] ? [7 8]] ?[[5 6] ? [7 8]]] The array3 is:? [[[1 2] ? [1 2] ? [3 4] ? [3 4]] ?[[5 6] ? [5 6] ? [7 8] ? [7 8]]] The array4 is:? [[[1 1 2 2] ? [3 3 4 4]] ?[[5 5 6 6] ? [7 7 8 8]]] """
我們可以看到,axis=0 對(duì)應(yīng)與沿著z軸重復(fù),axis=1 對(duì)應(yīng)沿著y軸重復(fù),axis=2 對(duì)應(yīng)沿著x軸重復(fù)。對(duì)比numpy坐標(biāo)軸的表示,我們知道三維坐標(biāo)軸為 (z, y, x),所以從左向右,0 對(duì)應(yīng)z軸,1 對(duì)應(yīng) y軸,2 對(duì)應(yīng) x 軸。
到此這篇關(guān)于np.repeat()函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)np.repeat()函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)將兩個(gè)文件夾合并至另一個(gè)文件夾(制作數(shù)據(jù)集)
這篇文章主要介紹了python實(shí)現(xiàn)將兩個(gè)文件夾合并至另一個(gè)文件夾(制作數(shù)據(jù)集),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04pydantic-resolve嵌套數(shù)據(jù)結(jié)構(gòu)生成LoaderDepend管理contextvars
這篇文章主要為大家介紹了pydantic-resolve解決嵌套數(shù)據(jù)結(jié)構(gòu)生成LoaderDepend管理contextvars的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-04-04python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)圖片轉(zhuǎn)字符小工具,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04python 動(dòng)態(tài)渲染 mysql 配置文件的示例
這篇文章主要介紹了python 動(dòng)態(tài)渲染 mysql 配置文件的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2020-11-11Django 自定義404 500等錯(cuò)誤頁面的實(shí)現(xiàn)
這篇文章主要介紹了Django 自定義404 500等錯(cuò)誤頁面的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03python 實(shí)現(xiàn)批量xls文件轉(zhuǎn)csv文件的方法
今天小編就為大家分享一篇python 實(shí)現(xiàn)批量xls文件轉(zhuǎn)csv文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python3.0 實(shí)現(xiàn)決策樹算法的流程
這篇文章主要介紹了Python3.0 實(shí)現(xiàn)決策樹算法的流程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08