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 快速排序代码
Nov 23 Python
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
Python反射的用法实例分析
Feb 11 Python
django rest framework 数据的查找、过滤、排序的示例
Jun 25 Python
从请求到响应过程中django都做了哪些处理
Aug 01 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
PyCharm无法引用自身项目解决方式
Feb 12 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 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
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
PHP使用CURL实现下载文件功能示例
2019/06/03 PHP
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
CSS或者JS实现鼠标悬停显示另一元素
2016/01/22 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
Koa项目搭建过程详细记录
2018/04/12 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
vue中npm包全局安装和局部安装过程
2019/09/03 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
Python3匿名函数用法示例
2018/07/25 Python
Django如何开发简单的查询接口详解
2019/05/17 Python
python视频按帧截取图片工具
2019/07/23 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
python实现canny边缘检测
2020/09/14 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
移动通信专业自荐信范文
2013/11/12 职场文书
大学生关于奋斗的演讲稿
2014/01/09 职场文书
运动会邀请函范文
2014/01/31 职场文书
医学类个人求职信范文
2014/02/05 职场文书
2014和解协议书范文
2014/09/15 职场文书
员工教育培训协议书
2014/09/27 职场文书
赵乐秦在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
会议邀请函
2015/01/30 职场文书
《槐乡的孩子》教学反思
2016/02/20 职场文书
Goland使用Go Modules创建/管理项目的操作
2021/05/06 Golang
CSS3中Animation实现简单的手指点击动画的示例
2021/07/15 HTML / CSS
python文件与路径操作神器 pathlib
2022/04/01 Python
Mysql如何查看是否使用到索引
2022/12/24 MySQL