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解析树及树的遍历
Feb 03 Python
基于python中pygame模块的Linux下安装过程(详解)
Nov 09 Python
python 中字典嵌套列表的方法
Jul 03 Python
Django csrf 验证问题的实现
Oct 09 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Python多线程threading模块用法实例分析
May 22 Python
解决python 上传图片限制格式问题
Oct 30 Python
python 调试冷知识(小结)
Nov 11 Python
parser.add_argument中的action使用
Apr 20 Python
详解python的xlwings库读写excel操作总结
Feb 26 Python
Python 里最强的地图绘制神器
Mar 01 Python
Python 制作自动化翻译工具
Apr 25 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
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php将fileterms函数返回的结果变成可读的形式
2011/04/21 PHP
PHP 字符串正则替换函数preg_replace使用说明
2011/07/15 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
ThinkPHP中create()方法自动验证表单信息
2017/04/28 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
javascript下arguments,caller,callee,call,apply示例及理解
2009/12/24 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
2010/03/04 Javascript
js location.replace与location.reload的区别
2010/09/08 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
jQuery检测输入的字符串包含的中英文的数量
2015/04/17 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
js获取时间函数及扩展函数的方法
2016/10/30 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
实例分析JS与Node.js中的事件循环
2017/12/12 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
2020/09/11 Javascript
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Python数据类型之Number数字操作实例详解
2019/05/08 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
什么是表空间(tablespace)和系统表空间(System tablespace)
2013/02/25 面试题
实习教师个人的自我评价
2013/11/08 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
SQL Server中常用截取字符串函数介绍
2022/03/16 SQL Server