np.hstack()和np.dstack()如何使用
这篇文章主要介绍“np.hstack()和np.dstack()如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“np.hstack()和np.dstack()如何使用”文章能帮助大家解决问题。
我们先来看 一下np.hstack()函数,代码如下:
# -*- coding: utf-8 -*-import numpy as npclass 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 npclass 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 npclass 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()如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341