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 相关文章推荐
Python2.x版本中cmp()方法的使用教程
May 14 Python
使用相同的Apache实例来运行Django和Media文件
Jul 22 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
pycharm下查看python的变量类型和变量内容的方法
Jun 26 Python
Python 访问限制 private public的详细介绍
Oct 16 Python
python调用matlab的m自定义函数方法
Feb 18 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
python 实现任务管理清单案例
Apr 25 Python
Python文件夹批处理操作代码实例
Jul 21 Python
Python基础之数据类型知识汇总
May 18 Python
Python3.10的一些新特性原理分析
Sep 15 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伪静态写法附代码
2008/06/20 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
浅谈php错误提示及查错方法
2015/07/14 PHP
php反射类ReflectionClass用法分析
2016/05/12 PHP
javascript 函数式编程
2007/08/16 Javascript
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
Python语言生成水仙花数代码示例
2017/12/18 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
在python 中split()使用多符号分割的例子
2019/07/15 Python
Python代理IP爬虫的新手使用教程
2019/09/05 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
python 读取串口数据的示例
2020/11/09 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
英国健身仓库:Bodybuilding Warehouse
2019/03/06 全球购物
护理专业毕业生自荐信范文
2014/01/05 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
高中教师个人总结
2015/02/10 职场文书
农村党支部承诺书
2015/04/30 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery
Python中requests做接口测试的方法
2021/05/30 Python