python numpy 矩阵堆叠
2018-01-16 11:02
711 查看
在实际操作中,遇到了矩阵堆叠的操作,本来想着自己写一个函数,后来想,应该有库函数,于是一阵找寻
简单解释一下上面的代码:其实主要是一个函数,stack(),这个函数其实包含了各种堆叠方式,我们上面的例子是针对二维矩阵的,其实我们大部分时候的操作都是针对二维矩阵的,为了方便,所以又定义了两个函数
函数
从效果看,相当于按照原来a的第二维度,也就是列,一列一列的取出来,按行拼成了一个矩阵。
那么,
import numpy as np 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])
相关文章推荐
- Python numpy.zero() 初始化矩阵
- Python矩阵运算库numpy常用函数
- numpy线性代数基础 - Python和MATLAB矩阵处理的不同
- python numpy矩阵和数组的转换
- 详解python中Numpy的属性与创建矩阵
- Python中矩阵库Numpy基本操作
- python之numpy对矩阵的操作
- Python.Numpy学习零碎笔记之数组与矩阵
- Python numpy 转置、逆、去掉一列、按列取出、矩阵拼接、矩阵排序、矩阵相等、np.where,一维转二维
- python中numpy的矩阵、多维数组的用法
- Python Numpy的数组array和矩阵matrix
- [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同
- 【矩阵分解】Python下基于Numpy的四种矩阵基本分解的实现
- python中numpy模块的数组(array)和矩阵(matric)比较
- python numpy 矩阵操作
- Python中的numpy矩阵运算
- python numpy包---矩阵运算
- python numpy 矩阵用法
- Python numpy矩阵处理技巧
- 关于用mapreduce做kmeans聚类以及python的numpy和list做矩阵、向量乘法的速度对比