您好,登錄后才能下訂單哦!
這篇文章主要介紹“np.hstack()和np.dstack()如何使用”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“np.hstack()和np.dstack()如何使用”文章能幫助大家解決問題。
我們先來看 一下np.hstack()函數,代碼如下:
# -*- 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()會將numpy數組沿著橫向堆疊,我們也可以說是沿著x軸方向堆疊。其實np.hstack()函數中的h就是horizontal的意思,意思為橫向,而stack就是堆疊的意思。
我們再來看一下np.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()會將numpy數組沿著縱向堆疊,我們也可以說是沿著y軸方向堆疊。其實np.vstack()函數中的v就是vertical的意思,意思為垂直方向,即縱向,同理stack是堆疊的意思, 所以整體表示沿著縱向堆疊。
綜上所述,np.hstack()表示沿著橫向堆疊,np.vstack()表示沿著縱向堆疊,需要注意它們的參數應該為一個元組,將需要堆疊的數組先組成一個元組再傳遞進入即可。當然,這里只是對兩個numpy數組進行堆疊操作,多個數組也是可以,將他們放在一起組成一個共同的元組即可,代碼如下:
# -*- 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]] """
關于“np.hstack()和np.dstack()如何使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。