np.hstack()和np.dstack()的使用
提到numpy數(shù)組就不得不說到np.hstack()與np.dstack()的問題。這里我們研究一下它們的使用方法。
我們先來看 一下np.hstack()函數(shù),代碼如下:
# -*- coding: utf-8 -*- import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.x = np.array([1, 2, 3]) ? ? ? ? self.y = np.array([4, 5, 6]) ? ? ? ? self.x1 = np.array([[1],[2],[3]]) ? ? ? ? self.y1 = np.array([[4],[5],[6]]) ? ? ? ?? ? ? def mainProgram(self): ? ? ? ? z = np.hstack((self.x, self.y)) ? ? ? ? z1 = np.hstack((self.x1, self.y1)) ? ? ? ? print("The value of z is: ") ? ? ? ? print(z) ? ? ? ? print("The value of z1 is: ") ? ? ? ? print(z1) ? ? ? ?? if __name__ == "__main__": ? ? main = Debug() ? ? main.mainProgram() """ The value of z is:? [1 2 3 4 5 6] The value of z1 is:? [[1 4] ?[2 5] ?[3 6]] """
我們可以看到np.hstack()會(huì)將numpy數(shù)組沿著橫向堆疊,我們也可以說是沿著x軸方向堆疊。其實(shí)np.hstack()函數(shù)中的h就是horizontal的意思,意思為橫向,而stack就是堆疊的意思。
我們?cè)賮砜匆幌耼p.vstack(),代碼如下:
# -*- coding: utf-8 -*- import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.x = np.array([1, 2, 3]) ? ? ? ? self.y = np.array([4, 5, 6]) ? ? ? ? self.x1 = np.array([[1],[2],[3]]) ? ? ? ? self.y1 = np.array([[4],[5],[6]]) ? ? ? ?? ? ? def mainProgram(self): ? ? ? ? z = np.vstack((self.x, self.y)) ? ? ? ? z1 = np.vstack((self.x1, self.y1)) ? ? ? ? print("The value of z is: ") ? ? ? ? print(z) ? ? ? ? print("The value of z1 is: ") ? ? ? ? print(z1) ? ? ? ?? if __name__ == "__main__": ? ? main = Debug() ? ? main.mainProgram() """ The value of z is:? [[1 2 3] ?[4 5 6]] The value of z1 is:? [[1] ?[2] ?[3] ?[4] ?[5] ?[6]] """
我們可以看到np.vstack()會(huì)將numpy數(shù)組沿著縱向堆疊,我們也可以說是沿著y軸方向堆疊。其實(shí)np.vstack()函數(shù)中的v就是vertical的意思,意思為垂直方向,即縱向,同理stack是堆疊的意思, 所以整體表示沿著縱向堆疊。
綜上所述,np.hstack()表示沿著橫向堆疊,np.vstack()表示沿著縱向堆疊,需要注意它們的參數(shù)應(yīng)該為一個(gè)元組,將需要堆疊的數(shù)組先組成一個(gè)元組再傳遞進(jìn)入即可。當(dāng)然,這里只是對(duì)兩個(gè)numpy數(shù)組進(jìn)行堆疊操作,多個(gè)數(shù)組也是可以,將他們放在一起組成一個(gè)共同的元組即可,代碼如下:
# -*- coding: utf-8 -*- import numpy as np class Debug: ? ? def __init__(self): ? ? ? ? self.x = np.array([1, 2, 3]) ? ? ? ? self.y = np.array([4, 5, 6]) ? ? ? ? self.z = np.array([7, 8, 9]) ? ? ? ?? ? ? def mainProgram(self): ? ? ? ? z = np.vstack((self.x, self.y, self.z)) ? ? ? ? print("The value of z is: ") ? ? ? ? print(z) ? ? ? ?? if __name__ == "__main__": ? ? main = Debug() ? ? main.mainProgram() """ The value of z is:? The value of z is:? [[1 2 3] ?[4 5 6] ?[7 8 9]] """
至此,我們對(duì)np.hstack()與np.vstack()函數(shù)的探索就結(jié)束了。更多相關(guān)np.hstack()和np.dstack()內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用python-opencv讀取視頻,計(jì)算視頻總幀數(shù)及FPS的實(shí)現(xiàn)
今天小編就為大家分享一篇使用python-opencv讀取視頻,計(jì)算視頻總幀數(shù)及FPS的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python3中configparser模塊讀寫ini文件并解析配置的用法詳解
這篇文章主要介紹了Python3中configparser模塊讀寫ini文件并解析配置的用法詳解,需要的朋友可以參考下2020-02-02Python實(shí)現(xiàn)圖像的二進(jìn)制與base64互轉(zhuǎn)
這篇文章主要為大家介紹了如何在Python中使用OpenCV從而實(shí)現(xiàn)圖像轉(zhuǎn)base64編碼、圖像轉(zhuǎn)二進(jìn)制編碼、二進(jìn)制轉(zhuǎn)圖像等功能,感興趣的可以跟上小編一起學(xué)習(xí)一下2022-03-03Python辦公自動(dòng)化Word轉(zhuǎn)Excel文件批量處理
這篇文章主要為大家介紹了Python辦公自動(dòng)化Word轉(zhuǎn)Excel文件批量處理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06