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中处理字符串之islower()方法的使用简介
May 19 Python
python实现八大排序算法(1)
Sep 14 Python
使用Python操作excel文件的实例代码
Oct 15 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
Flask框架配置与调试操作示例
Jul 23 Python
python 对类的成员函数开启线程的方法
Jan 22 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
python给list排序的简单方法
Dec 10 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 Python
浅析Python实现DFA算法
Jun 26 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
图书管理程序(三)
2006/10/09 PHP
将FCKeditor导入PHP+SMARTY的实现方法
2015/01/15 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
cakephp2.X多表联合查询join及使用分页查询的方法
2017/02/23 PHP
2007/12/23更新创意无限,简单实用(javascript log)
2007/12/24 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
基于jQuery实现多标签页切换的效果(web前端开发)
2016/07/24 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
2020/11/26 Vue.js
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
跟老齐学Python之Python安装
2014/09/12 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python列出一个文件夹及其子目录的所有文件
2016/06/30 Python
python绘制双柱形图代码实例
2017/12/14 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python 产生token及token验证的方法
2018/12/26 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
关于pytorch多GPU训练实例与性能对比分析
2019/08/19 Python
Python 实现数组相减示例
2019/12/27 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
服装设计专业自荐书范文
2013/12/30 职场文书
应届毕业生求职自荐书
2014/01/03 职场文书
中学生自我评价范文
2014/02/08 职场文书
2014年驾驶员工作总结
2014/11/18 职场文书
2014年德育工作总结
2014/11/20 职场文书
2014年秘书工作总结
2014/11/25 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
Python中Numpy和Matplotlib的基本使用指南
2021/11/02 Python