stack()与hstack(),vstack()不同,前者堆叠数组是联结(join),而后两者是串联(concatenation),可以体会一下。

1. stack()函数

按照指定的轴对数组序列进行联结。
语法格式:numpy.stack(arrays, axis=0, out=None)
参数:
arrays :数组序列,数组的形状(shape)必须相同

代码:

import numpy as np
a=[[1,2,3],[4,5,6]]
b=[[1,2,3],[4,5,6]]
c=[[1,2,3],[4,5,6]]
print("a=",a)
print("b=",b)
print("c=",c)d=np.stack((a,b,c),axis=0)
print('"axis=0":\n',d)d=np.stack((a,b,c),axis=1)
print('"axis=1":\n',d)d=np.stack((a,b,c),axis=2)
print('"axis=2":\n',d)

结果:

(a,b,c)的shape为(3*2*3),既然是堆叠,那么

当axes=0,就是以0这个维度的元素为单位,[[1 2 3] [4 5 6]]0、[[1 2 3] [4 5 6]]1、[[1 2 3] [4 5 6]]2自成一个单位,按下标[0,1,2]顺序排(堆)起来即可,结果的shape为(3*2*3);

当axes=1,就是以1这个维度的元素为单位[1 2 3]0、[4 5 6]1、[1 2 3]0、[4 5 6]1、[1 2 3]0、[4 5 6]1,按下标[[0,0,0],[1,1,1]]进行堆叠即可,结果的shape为(2*3*3);

当axes=2,就是以2这个维度的元素为单位10、21、32、43、54、65、10、21、32、43、54、65、10、21、32、43、54、65,按下标[[[0,0,0],[1,1,1],[2,2,2]],[[3,3,3],[4,4,4],[5,5,5]]]进行堆叠即可,结果的shape为(2*3*3);

文档中表述的也是这个意思。
numpy.stack

2. hstack()函数

语法格式:numpy.hstack(tup)
参数:
tup:ndarrays数组序列,除了一维数组的堆叠可以是不同长度外,其它数组堆叠时,除了第二个轴的长度可以不同外,其它轴的长度必须相同。

原因在于一维数组进行堆叠是按照第一个轴进行堆叠的,其他数组堆叠都是按照第二个轴堆叠的。

a = np.array((1,2,3))
b = np.array((2,3,4))
np.hstack((a,b))
输出:
array([1, 2, 3, 2, 3, 4])
a = np.array([[1],[2],[3]])
b = np.array([[2],[3],[4]])
np.hstack((a,b))
输出:
array([[1, 2],[2, 3],[3, 4]])

代码:

import numpy as np
a=[[1,2,3],[4,5,6]]
b=[[1,2,3],[4,5,6]]
c=[[1,2,3],[4,5,6]]
print(np.hstack((a,b,c)))

结果:

numpy.hstack

3. vstack()函数

沿着第一个轴堆叠数组。
语法格式:numpy.vstack(tup)
参数:
tup:ndarrays数组序列,如果是一维数组进行堆叠,则数组长度必须相同;除此之外,其它数组堆叠时,除数组第一个轴的长度可以不同,其它轴长度必须一样。

a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.vstack((a,b))
输出:
array([[1, 2, 3],[2, 3, 4]])
a = np.array([[1], [2], [3]])
b = np.array([[2], [3], [4]])
np.vstack((a,b))
输出:
array([[1],[2],[3],[2],[3],[4]])

代码:

import numpy as np
a=[[1,2,3],[4,5,6]]
b=[[1,2,3],[4,5,6]]
c=[[1,2,3],[4,5,6]]
print(np.vstack((a,b,c)))

结果:

numpy.vstack

Numpy中stack(),hstack(),vstack()函数的使用方法相关推荐

  1. Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战

    Python使用numpy中的hstack函数水平堆叠(horizontally stack)数组实战 目录 Python使用numpy中的hstack函数水平堆叠(horizontally stac ...

  2. python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差

    python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录

  3. python transpose函数_转载:numpy中transpose和swapaxes函数讲解

    看<利用python进行数据分析>,有些不大清楚numpy中transpose和swapaxes函数的原理,这篇文章写的比较清楚,转载过来方便个人随时阅读和温习 版权声明:本文为CSDN博 ...

  4. python如何读取数据保存为新格式_Python Numpy中数据的常用保存与读取方法

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  5. python中property方法有用_python中@property和property函数常见使用方法示例

    本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...

  6. python中的main函数可以被其他文件调用么_Python中在脚本中引用其他文件函数的实现方法...

    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址.所以如果要在当前脚本引用其他文件,除了将文件放在和 ...

  7. 几何画板中几种作函数图像的方法

    随着社会的发展,现代教学很多的地方都有了多媒体教学,这就需要一些教学软件的辅助了,几何画板就是其中之一.一些老师在使用几何画板的过程中,常常涉及到函数图象的绘制.因此,很多用户对这方面教程是非常的感兴 ...

  8. R语言时间序列数据的合并(merge time series):使用merge函数合并时间序列数据、使用zoo包中的na.spline函数使用三次样条方法(cubic spline)填充时间序列缺失值

    ↵ R语言时间序列数据的合并(merge time series):使用merge函数合并时间序列数据.使用zoo包中的na.spline函数使用三次样条方法(cubic spline)填充时间序列缺 ...

  9. MATLAB中abs和sqrt函数的使用方法

    MATLAB中abs和sqrt函数的使用方法 1.abs函数 ##作用:数值的绝对值和复数的幅值 ##基本用法:abs(x)函数是对数组元素进行绝对值处理的函数. 函数的定义域包括复数. 对于复数x= ...

  10. Numpy中stack(),hstack(),vstack()函数详解

    这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是stack()函数了,我查阅了numpy的官方文档,在网上又看了几个大牛的博客,发现他们也只是把numpy文档的内容照搬,看完后还是不能理解, ...

最新文章

  1. JAVA的静态代理与动态代理比较--转载
  2. CAS 服务器端取消 https的配置 方法
  3. Python执行 SQL 命令并实时打印输出
  4. 企业打开Redis的正确方式,来自阿里云云数据库团队的解读
  5. 向MFC应用程序添加控制台窗口
  6. 【最小生成树】还是畅通工程
  7. 区块链学习路线图 初阶+中阶+高阶
  8. onreadystatechange 事件
  9. android浏览器对比评测,11款手机浏览器性能横向评测
  10. 用直观抓住NFT是什么
  11. 华清远见-重庆中心-JAVA基础阶段技术总结/知识点梳理/个人总结/关于JAVA技术的解析(看法)/面试题解析
  12. PHP开发之-微信网页授权获取用户基本信息
  13. 线性代数:03 向量空间 -- 线性相关与线性无关
  14. asp.net word操作
  15. APM 飞控文档翻译2
  16. R plot图片背景设置为透明_R语言数据可视化基因名称转换及KEGG/GO富集分析
  17. python cnn 实例_在Keras中CNN联合LSTM进行分类实例
  18. moment 获得上月开始日期和结束日期
  19. esxi不识别硬盘_esxi在线添加硬盘,系统没有识别到怎么办(重启除外)
  20. zendstudio 各版本下载

热门文章

  1. 【2023 年第十三届 MathorCup 高校数学建模挑战赛】A 题 量子计算机在信用评分卡组合优化中的应用 42页论文及代码
  2. final修饰的变量
  3. win10/11上一键切换全拼/双拼
  4. MuleSoft知识总结-4.使用RAML设计接口
  5. C语言常用格式化符号
  6. 2023年产品经理需要考的证书——NPDP,含金量高,666
  7. 活动预告:BetaEX线上春季发布会 | TokenInsight
  8. js过滤树形结构数据并获取新的树形结构
  9. webservice学习
  10. map方法的常见使用