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求列表交集的方法汇总
Nov 10 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
Python爬虫利用cookie实现模拟登陆实例详解
Jan 12 Python
Python多线程经典问题之乘客做公交车算法实例
Mar 22 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Python timer定时器两种常用方法解析
Jan 20 Python
python代码区分大小写吗
Jun 17 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Django缓存Cache使用详解
Nov 30 Python
python 利用 PIL 将数组值转成图片的实现
Apr 12 Python
Python OpenCV形态学运算示例详解
Apr 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
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
关于PHP中的Class的几点个人看法
2006/10/09 PHP
用来解析.htgroup文件的PHP类
2012/09/05 PHP
php微信开发之图片回复功能
2018/06/14 PHP
js解析与序列化json数据(三)json的解析探讨
2013/02/01 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
2014/05/04 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
js操作table元素实现表格行列新增、删除技巧总结
2015/11/18 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
JS中实现函数return多个返回值的实例
2017/02/21 Javascript
详解基于webpack2.x的vue2.x的多页面站点
2017/08/21 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
[06:44]2018DOTA2亚洲邀请赛4.5 SOLO赛 MidOne vs Sumail
2018/04/06 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
jupyter安装小结
2016/03/13 Python
Python的装饰器使用详解
2017/06/26 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
pandas DataFrame 根据多列的值做判断,生成新的列值实例
2018/05/18 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
Python字典dict常用方法函数实例
2020/11/09 Python
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
关于母亲节的感言
2014/02/04 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
农业开发项目建议书
2014/05/16 职场文书
车间核算员岗位职责
2014/07/01 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
考试作弊检讨
2015/01/27 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
适合青年人白手起家的创业项目分享
2019/08/16 职场文书
Win10开机修复磁盘错误怎么跳过?Win10关闭开机磁盘检查的方法
2022/09/23 数码科技