python numpy 矩阵堆叠实例
在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻
importnumpyasnp a=np.array([1,2,3]) b=np.array([4,5,6]) np.stack((a,b))#默认行堆叠 输出: array([[1,2,3], [4,5,6]]) np.vstack((a,b)) 输出: array([[1,2,3], [4,5,6]]) np.hstack((a,b)) 输出: array([1,2,3,4,5,6])
简单解释一下上面的代码:其实主要是一个函数,stack(),这个函数其实包含了各种堆叠方式,我们上面的例子是针对二维矩阵的,其实我们大部分时候的操作都是针对二维矩阵的,为了方便,所以又定义了两个函数vstack()进行垂直的堆叠(vertically),hstack()进行水平堆叠(horizontally)
函数stack()有个参数,axis,可以设置堆叠的维度,默认是0,其实和vstack()是一个效果,当设置成1的时候,结果如下
np.stack((a,b),axis=1) 输出: array([[1,4], [2,5], [3,6]])
从效果看,相当于按照原来a的第二维度,也就是列,一列一列的取出来,按行拼成了一个矩阵。
那么,hstack()的效果能不能利用stack()实现呢?我这里是没有探索出来,欢迎知道的童靴指教,不过hstack()的效果其实和concatenate是一样的
np.concatenate((a,b)) 输出: array([1,2,3,4,5,6])
以上这篇pythonnumpy矩阵堆叠实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。