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的正则表达式re模块的常用方法
Mar 09 Python
在Windows8上的搭建Python和Django环境
Jul 03 Python
跟老齐学Python之关于循环的小伎俩
Oct 02 Python
详解Python的Django框架中的Cookie相关处理
Jul 22 Python
Python简单实现控制电脑的方法
Jan 22 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
python 列表递归求和、计数、求最大元素的实例
Nov 28 Python
python爬虫基础教程:requests库(二)代码实例
Apr 09 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
python3实现绘制二维点图
Dec 04 Python
django xadmin中form_layout添加字段显示方式
Mar 30 Python
flask项目集成swagger的方法
Dec 09 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
PHPMyAdmin 快速配置方法
2009/05/11 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
Nigma vs Liquid BO3 第一场2.14
2021/03/10 DOTA
可实现多表单提交的javascript函数
2007/08/01 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
JS 对象介绍
2010/01/20 Javascript
JavaScript计算两个日期时间段内日期的方法
2015/03/16 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
javascript设计模式之模块模式学习笔记
2017/02/15 Javascript
vue组件挂载到全局方法的示例代码
2018/08/02 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
在vue中使用jsonp进行跨域请求接口操作
2020/10/29 Javascript
Python中的错误和异常处理简单操作示例【try-except用法】
2017/07/25 Python
对pandas中apply函数的用法详解
2018/04/10 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
python用plt画图时,cmp设置方法
2018/12/13 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python批量图片处理简单示例
2019/08/06 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
css3实现圆锥渐变conic-gradient效果
2020/02/12 HTML / CSS
深入探究HTML5的History API
2015/07/09 HTML / CSS
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
法律专业应届本科毕业生求职信
2013/10/25 职场文书
家佳咖啡店创业计划书
2013/12/27 职场文书
爱情检讨书大全
2014/01/21 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
公司寄语大全
2014/04/10 职场文书
书香家庭事迹材料
2014/05/09 职场文书
公司员工手册范本
2015/05/14 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
Win11任务栏太宽了怎么办?一招解决Win11任务栏太宽问题
2021/11/21 数码科技