numpy的stack大白话解释
numpy中stack函数的大白话解释
很多人在处理数组的时候都会用到stack()这个函数,今天就让这个萌新给大家详细解释加实验一下stack函数
我们设置两个数组
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.array([[9, 10, 11], [11,12,13], [14, 15,16]])
这是a数组的样子:
这是b数组的样子:
**
现在我们将用这两个数组来对axis=0这三个参数的stack()进行解释:
**
c=np.stack((a, b),axis=0)
我们将c数组输出出来:
Out[86]:
array([[[ 1, 2, 3],[ 4, 5, 6],[ 7, 8, 9]],[[ 9, 10, 11],[11, 12, 13],[14, 15, 16]]])
有点抽象是不是,c其实是一个立体结构,纵向有两层,第0层是:
第1层是:
所以c就像一个长方体一样,我们从中取数是不是得告诉电脑它的三个坐标呀,因为c可以看做成一个立体的3维的长方体,例如我们取:
c[1][2][1]
Out[87]: 15
这里第一个[1]指的是第一层奥,总共有两层,0层与1层,然后[2][1]指的是
我们可以理解为axis=0是把两个数组像烙馅饼一样一个一个放在一起叠罗汉,注意奥:两个数组必须要格式相等,也就是在这都是3*3的,如果大小不一致,则会报错:
ValueError: all input arrays must have the same shape
**
现在我们将用这两个数组来对axis=1这三个参数的stack()进行解释:
**
一样的道理,我们输入:
c=np.stack((a, b),axis=1)
print(c)
array([[[ 1, 2, 3],[ 9, 10, 11]],[[ 4, 5, 6],[11, 12, 13]],[[ 7, 8, 9],[14, 15, 16]]])
是不是有点抽象,不要着急,这是一个三层的长方体,每一层都是有a与b的相同行取出来组合到一起的,比如:
第0层:[[1,2,3],[4,5,6]]中的[1,2,3]是a的第一层:
[4,5,6]则是b的第一层,两个数组a,b的第一行,组成了c的第0层;两个数组a,b的第二行组成了c的第一层,两个数组a,b的第二行,组成了c的第二层,这样,一个总共层数为3的c就出现了。
现在我们将用这两个数组来对axis=2这三个参数的stack()进行解释:
c=np.stack((a, b),axis=2)
print(c)
array([[[ 1, 9],[ 2, 10],[ 3, 11]],[[ 4, 11],[ 5, 12],[ 6, 13]],[[ 7, 14],[ 8, 15],[ 9, 16]]])
这里,我们同样出现了一个层数为3的c,只不过,这次我们用a和b的第一层:
a:
b:
这两个的第一行进行转置然后放到一起,成为c的第0层:
以此类推啦,所以出来的c有多少层,看的是a b的行数,这里a b 都是行,所以c是3层,如果a,b都是5行:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9],[0,0,0],[0,0,0]])
b = np.array([[9, 10, 11], [11,12,13], [14, 15,16],[0,0,0],[0,0,0]])
c=np.stack((a, b),axis=2)
c=array([[[ 1, 9],[ 2, 10],[ 3, 11]],[[ 4, 11],[ 5, 12],[ 6, 13]],[[ 7, 14],[ 8, 15],[ 9, 16]],[[ 0, 0],[ 0, 0],[ 0, 0]],[[ 0, 0],[ 0, 0],[ 0, 0]]])
c就是5行啦!
numpy的stack大白话解释相关推荐
- 大白话解释:到底什么是人工智能(AI),小学生都能看懂
现在人工智能(AI)一词满天飞,上到国家和地方ZF的科技创新扶持政策,下到大小公司的各种智能XXX.智慧XXX产品或解决方案,似乎不加上人工智能,就显得没有技术含量.不够高端.反正人工智能一词有点泛滥 ...
- 大白话解释TCP三次握手
大白话解释TCP三次握手 原文地址:http://www.cnblogs.com/yuilin/archive/2012/11/05/2755298.html 一.TCP三次握手 在TCP/IP协议中 ...
- 【git基础】大白话解释git和github
<h1>大白话解释 Git 和 GitHub</h1> 本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念.本文不涉及代码,不用下载啥东 ...
- python numpy中stack(),hstack(),vstack()函数解释
引用 stack()函数axes参数的含义总结起来就是: axes=0:不变 axes=1:次外层矩阵转置 axes=2:次外层矩阵转置,同时次次外层矩阵转置 以此类推. hstack()是次外层水平 ...
- Numpy中stack(),hstack(),vstack()函数详解
这三个函数有些相似性,都是堆叠数组,里面最难理解的应该就是stack()函数了,我查阅了numpy的官方文档,在网上又看了几个大牛的博客,发现他们也只是把numpy文档的内容照搬,看完后还是不能理解, ...
- numpy中stack的用法直观理解
首先生成一些数, import numpy as np a = np.arange(1, 7).reshape((2, 3)) b = np.arange(7, 13).reshape((2, 3)) ...
- Numpy中stack(),hstack(),vstack()函数的使用方法
stack()与hstack(),vstack()不同,前者堆叠数组是联结(join),而后两者是串联(concatenation),可以体会一下. 1. stack()函数 按照指定的轴对数组序列进 ...
- numpy库的一些解释
Numpy库介绍 NumPy是一个的Python库,主要用于对多维数组执行计算. NumPy这个词来源于两个单词-- Numerical [njuːˈmerɪkl] (数值;数值法;数值的;数字的)和 ...
- 振动测试大白话(一)--大白话解释啥是冲击响应谱
摘要:有的振动测试行业同行除了要测试结果,也愿意交流一下计算的过程,涉及到的计算知识比较多,有的也难以理解.为了让大家尽可能简单地理解这些概念,今天开始就逐步分享一些大白话振动测试知识.本篇讲冲击响应 ...
- python transpose函数_Python Numpy.transpose函数可视化解释
二维情况 例如以下代码: x = np.arange(4).reshape((2,2)) 输出: x = ([[0, 1], [2, 3]]) 对于二维的数组,np.transpose()即为将矩阵进 ...
最新文章
- MySQL中MyISAM 和 InnoDB 的基本区别
- MongoDB3.4安装及卸载
- 安装双系统(win10+Ubuntu18.0)使用一段时间后,就直接进入win10,bios启动项里也没有Ubuntu
- Nginx下载服务器配置文件
- boost::contract模块实现是否constexpr的测试程序
- CL_CRM_REPORT_QUESTION call CRM_REPORT_RF_CHECK_AUTHORITY
- softmax logistic loss详解
- DirectX支配游戏!历代GPU架构全解析
- 云计算学习笔记002---云计算的理解及介绍,google云计算平台实现原理
- Android中的Intent详细讲解【转】
- 学习SQLAlchemy Core
- 20个Android游戏源码,…
- MD5加密算法(C++版)
- Excel表VLOOKUP多个条件匹配数据
- MFSPV: A Multi-Factor Secured and Lightweight Privacy-Preserving Authentication Schem
- 如何使用SPSS进行两因素重复测量的方差分析
- setUp和tearDown
- mysql 连续七天不登录_【SQL】查询连续登陆7天以上的用户
- windows phone 7开发日志(正题二,字体)
- 获取本小程序的appID
热门文章
- OSPF协议总结5(六种LSA)
- (组合数+快速幂+lucas+费马小引理)acwing 887. 求组合数 III
- matlab正序零序负序,史上最完美的图形和公式带你搞懂正序负序零序!
- 哒螨灵使用注意事项_常用杀虫剂-哒螨灵使用方法
- 软件工程(2019)结对编程第一次作业
- 使用MapWinGis ActiveX控件在图层上画点
- 2种方法,当文本框输入@自动补全邮箱后缀(特别是命名空间的引用,共三种方法)
- DSPE-PEG-MAL,474922-22-0,DSPE-PEG-Maleimide
- 如何成为很厉害的程序员?- 读《精进》
- 2020牛客暑期多校训练营(第九场)——Groundhog and 2-Power Representation