python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > np.hstack()和np.dstack()

np.hstack()和np.dstack()的使用

作者:勤奋的大熊猫

本文主要介绍了np.hstack()和np.dstack()的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

提到numpy数组就不得不说到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.vstack()函数的探索就结束了。更多相关np.hstack()和np.dstack()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文