numpy中三维数组中加入元素后的位置详解


Posted in Python onNovember 28, 2019

今天做数据处理时,遇到了从三维数组中批量加入二维数组的需求。其中三维数组在深度学习的特征数据处理时经常会使用到,所以读者有必要对该小知识点做到清楚了解并掌握。现对三维数组中的元素位置结合代码做详细归纳总结,方便日后查阅和为网友答疑!

图示效果图:

numpy中三维数组中加入元素后的位置详解

直接贴代码:

def test3D():
 import numpy as np
 data_array = np.zeros((3, 5, 6), dtype=np.int)
 data_array[1, 2, 2] = 1
 
 print(data_array)

介绍:通过np.zeros创建一个3行5列6个通道的三维数组,并给第二个通道的第一行第二列赋值1.

运行结果图:

numpy中三维数组中加入元素后的位置详解

分析: 有运行结果可知,创建了六个通道,在深度学习中这六个通道相当于六个Feature Map,对应结果图中的六列。

numpy中三维数组中加入元素后的位置详解

再向外看一层,共有三个块,每个块代表这个通道的第几行数据。

numpy中三维数组中加入元素后的位置详解

每个块里有五行数据,每一行代表每个通道的第几列数据

numpy中三维数组中加入元素后的位置详解

所以,代码中的赋值语句: data_array[1, 2, 2] = 1

表示为第2个通道,下标从0开始,所以在图中位置为第三列;第1行第2列,下标从0开始,所以图中表示第二个块的第三行;即为图中所示位置。

补充:三维数组的求和

多维数组的轴(axis=)是和该数组的size(或者shape)的元素是相对应的;

>>> np.random.seed(123)
>>> X = np.random.randint(0, 5, [3, 2, 2])
>>> print(X)
 
[[[5 2]
 [4 2]]
 
 [[1 3]
 [2 3]]
 
 [[1 1]
 [0 1]]]
 
>>> X.sum(axis=0)
array([[7, 6],
  [6, 6]])
 
>>> X.sum(axis=1)
array([[9, 4],
  [3, 6],
  [1, 2]])
 
>>> X.sum(axis=2)
array([[7, 6],
  [4, 5],
  [2, 1]])

如果将三维数组的每一个二维看做一个平面(plane,X[0, :, :], X[1, :, :], X[2, :, :]),三维数组即是这些二维平面层叠(stacked)出来的结果。则(axis=0)表示全部平面上的对应位置,(axis=1),每一个平面的每一列,(axis=2),每一个平面的每一行。

以上这篇numpy中三维数组中加入元素后的位置详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
numpy.delete删除一列或多列的方法
Apr 03 Python
Python文本处理之按行处理大文件的方法
Apr 09 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
解决python给列表里添加字典时被最后一个覆盖的问题
Jan 21 Python
python实现银联支付和支付宝支付接入
May 07 Python
python将字典列表导出为Excel文件的方法
Sep 02 Python
Python实现语音识别和语音合成功能
Sep 20 Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Python while true实现爬虫定时任务
Jun 08 Python
python字符串的index和find的区别详解
Jun 20 Python
python-地图可视化组件folium的操作
Dec 14 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
Nov 28 #Python
解决Python二维数组赋值问题
Nov 28 #Python
python之array赋值技巧分享
Nov 28 #Python
python3 实现函数写文件路径的正确方法
Nov 27 #Python
关于Python3 lambda函数的深入浅出
Nov 27 #Python
python3中rank函数的用法
Nov 27 #Python
Python values()与itervalues()的用法详解
Nov 27 #Python
You might like
德生BCL3000的电路分析和打磨
2021/03/02 无线电
PHP 替换模板变量实现步骤
2009/08/24 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
详解PHP实现执行定时任务
2015/12/21 PHP
在IIS下安装PHP扩展的方法(超简单)
2017/04/10 PHP
ext 同步和异步示例代码
2009/09/18 Javascript
JavaScript动态创建div等元素实例讲解
2016/01/06 Javascript
JavaScript 中有关数组对象的方法(详解)
2016/08/15 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
JavaScript实现大图轮播效果
2017/01/11 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
JS身份证信息验证正则表达式
2017/06/12 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
通过微信公众平台获取公众号文章的方法示例
2019/12/25 Javascript
Vue如何提升首屏加载速度实例解析
2020/06/25 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
[01:05:07]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第一场2月1日
2021/03/11 DOTA
Python 代码性能优化技巧分享
2012/08/07 Python
python的id()函数解密过程
2012/12/25 Python
Python基于有道实现英汉字典功能
2015/07/25 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Python基于Floyd算法求解最短路径距离问题实例详解
2018/05/16 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
伦敦新晋轻奢耳饰潮牌:Tada & Toy
2020/05/25 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
一名毕业生的自我鉴定
2013/12/04 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
应届毕业生的自我评价
2019/06/21 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python