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网络编程学习笔记(五):socket的一些补充
Jun 09 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
Python实现批量下载文件
May 17 Python
python实现线程池的方法
Jun 30 Python
详解tensorflow实现迁移学习实例
Feb 10 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python实现Event回调机制的方法
Feb 13 Python
python3实现mysql导出excel的方法
Jul 31 Python
python re模块和正则表达式
Mar 24 Python
python单元测试之pytest的使用
Jun 07 Python
Python数据可视化之基于pyecharts实现的地理图表的绘制
Jun 10 Python
Python中super().__init__()测试以及理解
Dec 06 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
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
关于IE中getElementsByClassName不能用的问题解决方法
2013/08/26 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
2014/05/20 Javascript
jQuery中element选择器用法实例
2014/12/29 Javascript
解析AngularJS中get请求URL出现的跨域问题
2016/12/01 Javascript
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
2017/09/30 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
详解JavaScript的变量
2019/04/04 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
2019/08/07 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
Python selenium实现微博自动登录的示例代码
2018/05/16 Python
Python 对输入的数字进行排序的方法
2018/06/23 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
Python匿名函数及应用示例
2019/04/09 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
python怎么判断素数
2020/07/01 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
Python tkinter之ComboBox(下拉框)的使用简介
2021/02/05 Python
python 求两个向量的顺时针夹角操作
2021/03/04 Python
教师师德教育的自我评价
2013/10/31 职场文书
学校火灾防控方案
2014/06/09 职场文书
业绩倒数第一的检讨书
2014/09/24 职场文书
公司保洁员管理制度
2015/08/04 职场文书
感谢师恩主题班会
2015/08/17 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python