Python高级特性——详解多维数组切片(Slice)


Posted in Python onNovember 26, 2019

(1) 我们先用arange函数创建一个数组并改变其维度,使之变成一个三维数组:

>>> a = np.arange(24).reshape(2,3,4)
>>> a
array([[[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]],

    [[12, 13, 14, 15],
    [16, 17, 18, 19],
    [20, 21, 22, 23]]])

多维数组a中有0~23的整数,共24个元素,是一个2×3×4的三维数组。我们可以形象地把它看做一个两层楼建筑,每层楼有12个房间,并排列成3行4列。

(2) 我们可以用三维坐标来选定任意一个房间,即楼层、行号和列号。例如,选定第1层楼、第1行、第1列的房间,可以这样表示:

>>> a[0, 0, 0]
0

(3) 如果我们不关心楼层,也就是说要选取所有楼层的第1行、第1列的房间,那么可以将第1个下标用英文标点的冒号:来代替:

>>> a[:, 0, 0]
array([ 0, 12])

选取第1层楼的所有房间:

>>> a[0]
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])

或者我们可以这样写:

>>> a[0, :, :]
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])

多个冒号可以用一个省略号(…)来代替,因此上面的代码等价于:

>>> a[0, ...]
array([[ 0, 1, 2, 3],
    [ 4, 5, 6, 7],
    [ 8, 9, 10, 11]])

进而可以选取第1层楼、第2排的所有房间:

>>> a[0, 1]
array([4, 5, 6, 7])

以上这篇Python高级特性——详解多维数组切片(Slice)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 时间操作例子和时间格式化参数小结
Apr 24 Python
使用Python设计一个代码统计工具
Apr 04 Python
python取数作为临时极大值(极小值)的方法
Oct 15 Python
在Python中增加和插入元素的示例
Nov 01 Python
详解python数据结构和算法
Apr 18 Python
pyqt 实现在Widgets中显示图片和文字的方法
Jun 13 Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 Python
Python将文字转成语音并读出来的实例详解
Jul 15 Python
python3中eval函数用法使用简介
Aug 02 Python
pymysql 插入数据 转义处理方式
Mar 02 Python
利用Python+OpenCV三步去除水印
May 28 Python
忆童年!用Python实现愤怒的小鸟游戏
Jun 07 Python
Python实现随机取一个矩阵数组的某几行
Nov 26 #Python
Python 求数组局部最大值的实例
Nov 26 #Python
Python 实现取多维数组第n维的前几位
Nov 26 #Python
python获取array中指定元素的示例
Nov 26 #Python
Flask之pipenv虚拟环境的实现
Nov 26 #Python
Python 根据数据模板创建shapefile的实现
Nov 26 #Python
Python实现直播推流效果
Nov 26 #Python
You might like
IE与Firefox下javascript getyear年份的兼容性写法
2007/12/20 Javascript
javascript URL锚点取值方法
2009/02/25 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
jQuery学习笔记之DOM对象和jQuery对象
2010/12/22 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
js实现浏览器倒计时跳转页面效果
2016/08/12 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
微信小程序getPhoneNumber获取用户手机号
2017/09/29 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
webpack打包js的方法
2018/03/12 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python3之微信文章爬虫实例讲解
2017/07/12 Python
python解决字符串倒序输出的问题
2018/06/25 Python
python中将两组数据放在一起按照某一固定顺序shuffle的实例
2019/07/15 Python
Python 中的 global 标识对变量作用域的影响
2019/08/12 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
Pytorch释放显存占用方式
2020/01/13 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
使用Python将xmind脑图转成excel用例的实现代码(一)
2020/10/12 Python
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
维也纳通行证:Vienna PASS
2019/07/18 全球购物
本科生个人求职自荐信
2013/09/26 职场文书
入党积极分子学习两会心得体会范文
2014/03/17 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android