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操作gmail实例
Jan 14 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
Django2.1.3 中间件使用详解
Nov 26 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
May 09 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 Python
Python多线程正确用法实例解析
May 30 Python
python中常见错误及解决方法
Jun 21 Python
python实现数字炸弹游戏程序
Jul 17 Python
pycharm中使用request和Pytest进行接口测试的方法
Jul 31 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
python 多线程中join()的作用
Oct 29 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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 会话(session 时间设定)使用入门代码
2008/06/05 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP实现的常规正则验证helper公共类完整实例
2017/04/27 PHP
PHP如何将图片文件上传到另外一台服务器上
2019/08/26 PHP
理解Javascript_08_函数对象
2010/10/15 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
使用pjax实现无刷新更改页面url
2015/02/05 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
jquery实现ajax提交表单信息的简单方法(推荐)
2016/08/24 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
微信小程序 删除项目工程实现步骤
2016/11/10 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
jquery实现自定义树形表格的方法【自定义树形结构table】
2019/07/12 jQuery
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
js实现打字小游戏
2019/12/17 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
通过Python爬虫代理IP快速增加博客阅读量
2016/12/14 Python
Python 通过pip安装Django详细介绍
2017/04/28 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
python中np是做什么的
2020/07/21 Python
美国休闲服装品牌:Express
2016/09/24 全球购物
澳大利亚先进的皮肤和激光诊所购物网站:Soho Skincare
2018/10/15 全球购物
Harman Audio官方商店:购买JBL、Harman Kardon、Infinity和AKG
2019/12/05 全球购物
大学生饮食配送创业计划书
2014/01/04 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
西柏坡导游词
2015/02/05 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python
Mysql排查分析慢sql之explain实战案例
2022/04/19 MySQL