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实现批量下载文件
May 17 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
Python中time模块和datetime模块的用法示例
Feb 28 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 Python
Django实现表单验证
Sep 08 Python
对python中的iter()函数与next()函数详解
Oct 18 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
python3.4 将16进制转成字符串的实例
Jun 12 Python
python实现网站用户名密码自动登录功能
Aug 09 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
Apr 13 Python
Python实现老照片修复之上色小技巧
Oct 16 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创建动态图像
2006/10/09 PHP
js 函数调用模式小结
2011/12/26 Javascript
了解一点js的Eval函数
2012/07/26 Javascript
javascript工厂方式定义对象
2014/12/26 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
2015/12/04 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
基于vue-simplemde实现图片拖拽、粘贴功能
2018/04/12 Javascript
使用vue-router beforEach实现判断用户登录跳转路由筛选功能
2018/06/25 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
Python 数据结构之队列的实现
2017/01/22 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
使用Filter过滤python中的日志输出的实现方法
2019/07/17 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
python怎么自定义捕获错误
2020/06/29 Python
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
玉兰油美国官网:OLAY美国
2018/10/25 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
欧舒丹俄罗斯官方网站:L’OCCITANE俄罗斯
2019/11/22 全球购物
酒店管理毕业生自荐信
2013/10/24 职场文书
医学生求职自荐信
2013/10/25 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
法院答辩状格式
2015/05/22 职场文书
教师病假条范文
2015/08/17 职场文书
python制作图形界面的2048游戏, 基于tkinter
2021/04/06 Python
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
python中%格式表达式实例用法
2021/06/18 Python
Python实现照片卡通化
2021/12/06 Python