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实现识别手写数字 简易图片存储管理系统
Jan 29 Python
启动Atom并运行python文件的步骤
Nov 09 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
Django结合ajax进行页面实时更新的例子
Aug 12 Python
Python hashlib模块加密过程解析
Nov 05 Python
如何基于Python创建目录文件夹
Dec 31 Python
python中count函数简单用法
Jan 05 Python
Python chardet库识别编码原理解析
Feb 18 Python
详解Python IO编程
Jul 24 Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 Python
anaconda升级sklearn版本的实现方法
Feb 22 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
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
2012/10/29 PHP
PHP获取MSN好友列表类的实现代码
2013/06/23 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法
2017/05/03 PHP
PDO::errorInfo讲解
2019/01/28 PHP
Yii2框架加载css和js文件的方法分析
2019/05/25 PHP
js中的caller和callee属性介绍和例子
2014/06/07 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
jquery append 动态添加的元素事件on 不起作用的解决方案
2015/07/30 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
vue-router命名路由和编程式路由传参讲解
2019/01/19 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
vue Tab切换以及缓存页面处理的几种方式
2019/11/05 Javascript
[01:58]DOTA2上海特级锦标赛现场采访:RTZ这个ID到底好不好
2016/03/25 DOTA
python 文件与目录操作
2008/12/24 Python
python解析xml文件操作实例
2014/10/05 Python
python使用xmlrpclib模块实现对百度google的ping功能
2015/06/02 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
使用keras时input_shape的维度表示问题说明
2020/06/29 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
Python实现PS滤镜中的USM锐化效果
2020/12/04 Python
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
应届生求职推荐信
2013/10/28 职场文书
计算机应届毕业生自荐信范文
2014/02/23 职场文书
优秀会计求职信
2014/07/04 职场文书
2014年教学管理工作总结
2014/12/02 职场文书
党性修养心得体会2016
2016/01/21 职场文书
调研报告的主要写法
2019/04/18 职场文书
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS