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 相关文章推荐
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
Apr 09 Python
Python+微信接口实现运维报警
Aug 27 Python
Python中类型检查的详细介绍
Feb 13 Python
Django中redis的使用方法(包括安装、配置、启动)
Feb 21 Python
python 使用sys.stdin和fileinput读入标准输入的方法
Oct 17 Python
Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)
Dec 20 Python
python pcm音频添加头转成Wav格式文件的方法
Jan 09 Python
完美解决Python matplotlib绘图时汉字显示不正常的问题
Jan 29 Python
python读写csv文件并增加行列的实例代码
Aug 01 Python
Python笔记之观察者模式
Nov 20 Python
Python post请求实现代码实例
Feb 28 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
document.getElementById方法在Firefox与IE中的区别
2010/05/18 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
javascript中方便增删改cookie的一个类
2012/10/11 Javascript
js图片预加载示例
2014/04/30 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JS图片压缩(pc端和移动端都适用)
2017/01/12 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
详解vue2.0的Element UI的表格table列时间戳格式化
2017/06/13 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
2020/11/05 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
python中利用Future对象回调别的函数示例代码
2017/09/07 Python
python3+PyQt5实现自定义窗口部件Counters
2018/04/20 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python Pillow图像处理方法汇总
2019/10/16 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
Python xlwings插入Excel图片的实现方法
2021/02/26 Python
HTML5 MiranaVideo播放器 (代码开源)
2010/06/11 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
市场营销专业个人求职信范文
2013/12/14 职场文书
成品库仓管员岗位职责
2014/04/06 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
三年级学生期末评语
2014/12/26 职场文书
第一书记观后感
2015/06/08 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书