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连接字符串的方法小结
Jul 13 Python
Python代码解决RenderView窗口not found问题
Aug 28 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
简单了解python模块概念
Jan 11 Python
Python实现线程状态监测简单示例
Mar 28 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
在Python中构建增广矩阵的实现方法
Jul 01 Python
Python telnet登陆功能实现代码
Apr 16 Python
python读取hdfs并返回dataframe教程
Jun 05 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 Python
Python实现我的世界小游戏源代码
Mar 02 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
The specified CGI application misbehaved by not returning a complete set of HTTP headers
2011/03/31 PHP
简单的php中文转拼音的实现代码
2014/02/11 PHP
一组PHP加密解密函数分享
2014/06/05 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
Extjs中DisplayField的日期或者数字格式化扩展
2010/09/03 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
js判断日期时间有效性的方法
2015/10/24 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
微信小程序开发之入门实例教程篇
2017/03/07 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Angular4学习教程之DOM属性绑定详解
2018/01/04 Javascript
electron 安装,调试,打包的具体使用
2019/11/06 Javascript
python 执行shell命令并将结果保存的实例
2018/05/11 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python去掉 unicode 字符串前面的u方法
2018/10/21 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python矩阵的转置和逆转实例
2018/12/12 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
python批量修改文件名的示例
2020/09/27 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
安全生产目标责任书
2014/04/14 职场文书
《恐龙》教学反思
2014/04/27 职场文书
助理政工师申报材料
2014/06/03 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
毕业论文答辩开场白和答辩技巧
2015/05/27 职场文书
2016年母亲节寄语
2015/12/04 职场文书
承诺书的内容有哪些,怎么写?
2019/06/21 职场文书