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采用getopt解析命令行输入参数实例
Sep 30 Python
Python常用知识点汇总
May 08 Python
解决Shell执行python文件,传参空格引起的问题
Oct 30 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
PyQt5使用QTimer实现电子时钟
Jul 29 Python
简单介绍python封装的基本知识
Aug 10 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
python 函数中的参数类型
Feb 11 Python
Django数据库操作之save与update的使用
Apr 01 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
Lombok插件安装(IDEA)及配置jar包使用详解
Nov 04 Python
Django drf请求模块源码解析
Jun 08 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登录时间的方法
2011/02/06 PHP
PHP中集成PayPal标准支付的实现方法分享
2012/02/06 PHP
php生成随机颜色方法汇总
2014/12/03 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
让元素在网页中可拖动示例代码
2013/08/13 Javascript
js创建一个input数组并绑定click事件的方法
2014/06/12 Javascript
javascript将浮点数转换成整数的三个方法
2014/06/23 Javascript
JS实现让网页背景图片斜向移动的方法
2015/02/25 Javascript
js获得当前系统日期时间的方法
2015/05/06 Javascript
详解JavaScript操作HTML DOM的基本方式
2015/10/21 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
JavaScript 模块的循环加载实现方法
2015/12/13 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
2017/11/17 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
python读取中文txt文本的方法
2018/04/12 Python
Python新手学习标准库模块命名
2020/05/29 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
法国最大电子商务平台:Cdiscount
2018/03/13 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
本科生学习总结的自我评价
2013/10/02 职场文书
水污染治理专业毕业生推荐信
2013/11/14 职场文书
爱我中华教学反思
2014/04/28 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
市级三好学生评语
2014/12/29 职场文书
英语读书笔记
2015/07/02 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python
Vue ECharts实现机舱座位选择展示功能
2022/05/15 Vue.js