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 相关文章推荐
Using Django with GAE Python 后台抓取多个网站的页面全文
Feb 17 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
Python实现将照片变成卡通图片的方法【基于opencv】
Jan 17 Python
python定时关机小脚本
Jun 20 Python
python使用turtle库绘制时钟
Mar 25 Python
如何基于Python实现自动扫雷
Jan 06 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
pytorch实现建立自己的数据集(以mnist为例)
Jan 18 Python
Pycharm导入anaconda环境的教程图解
Jul 31 Python
Python3+Flask安装使用教程详解
Feb 16 Python
python Tkinter的简单入门教程
Apr 11 Python
pytorch训练神经网络爆内存的解决方案
May 22 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
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
利用PHP实现短域名互转
2013/07/05 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
xmlHTTP实例
2006/10/24 Javascript
自制轻量级仿jQuery.boxy对话框插件代码
2010/10/26 Javascript
JQuery操作表格(隔行着色,高亮显示,筛选数据)
2012/02/23 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
js密码强度实时检测代码
2016/03/02 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
vue自定义全局共用函数详解
2018/09/18 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python中print函数简单使用总结
2019/08/05 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
PyTorch预训练的实现
2019/09/18 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Python dict的常用方法示例代码
2020/06/23 Python
波兰品牌内衣及泳装网上商店:Astratex.pl
2017/02/03 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
King Apparel官网:英国街头服饰品牌
2019/09/05 全球购物
什么是Smarty变量操作符?如何使用Smarty变量操作符
2014/07/18 面试题
电气工程师岗位职责
2014/01/01 职场文书
初三学生评语大全
2014/04/24 职场文书
中学生操行评语
2014/04/24 职场文书
个人担保书格式范文
2014/05/12 职场文书
2015年安全月活动总结
2015/03/26 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
靠谱的活动总结
2019/04/16 职场文书
辞职申请书范本
2019/05/20 职场文书