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 相关文章推荐
python递归删除指定目录及其所有内容的方法
Jan 13 Python
Python 列表(List) 的三种遍历方法实例 详解
Apr 15 Python
Python基于回溯法子集树模板实现图的遍历功能示例
Sep 05 Python
详解K-means算法在Python中的实现
Dec 05 Python
Python3 中把txt数据文件读入到矩阵中的方法
Apr 27 Python
Python堆排序原理与实现方法详解
May 11 Python
关于python2 csv写入空白行的问题
Jun 22 Python
Python画柱状统计图操作示例【基于matplotlib库】
Jul 04 Python
浅谈Python反射 & 单例模式
Mar 21 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Python之字典添加元素的几种方法
Sep 30 Python
python常量折叠基础知识点讲解
Feb 28 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 和 HTML
2006/10/09 PHP
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php表单提交问题的解决方法
2011/04/12 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
如何使用Gitblog和Markdown建自己的博客
2015/07/31 PHP
PHP+Ajax实现的博客文章添加类别功能示例
2018/03/29 PHP
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
Highcharts使用简例及异步动态读取数据
2015/12/30 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
2018/01/23 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
js控制随机数生成概率代码实例
2019/03/21 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
[02:42]2014DOTA2国际邀请赛 三冰专访:我会打到Ti20
2014/07/13 DOTA
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python中的各种装饰器详解
2015/04/11 Python
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
python遍历目录的方法小结
2016/04/28 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
小 200 行 Python 代码制作一个换脸程序
2020/05/12 Python
keras实现图像预处理并生成一个generator的案例
2020/06/17 Python
Dr.Jart+美国官网:韩国药妆品牌
2019/01/18 全球购物
集世界奢侈品和设计师品牌的意大利精品买手店:Tessabit
2019/08/17 全球购物
年会活动策划方案
2014/01/23 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
庆七一活动总结
2014/08/27 职场文书
生死抉择观后感
2015/06/09 职场文书
新党员入党决心书
2015/09/22 职场文书
python 中的@运算符使用
2021/05/26 Python
Redis官方可视化工具RedisInsight安装使用教程
2022/04/19 Redis