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访问类中docstring注释的实现方法
May 04 Python
pymssql数据库操作MSSQL2005实例分析
May 25 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
python实现机械分词之逆向最大匹配算法代码示例
Dec 13 Python
Django中的文件的上传的几种方式
Jul 23 Python
如何使用Flask-Migrate拓展数据库表结构
Jul 24 Python
Python 合并多个TXT文件并统计词频的实现
Aug 23 Python
Python多继承以及MRO顺序的使用
Nov 11 Python
Python读取实时数据流示例
Dec 02 Python
TensorFlow 多元函数的极值实例
Feb 10 Python
Python OrderedDict字典排序方法详解
May 21 Python
通过代码实例解析Pytest运行流程
Aug 20 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 日期加减的类,很不错
2009/10/10 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
NodeJS框架Express的模板视图机制分析
2011/07/19 NodeJs
javascript延时加载之defer测试
2012/12/28 Javascript
js每隔5分钟执行一次ajax请求的实现方法
2013/11/27 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
jQuery多文件异步上传带进度条实例代码
2016/08/16 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
angularjs数组判断是否含有某个元素的实例
2018/02/27 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
Puppeteer 爬取动态生成的网页实战
2018/11/14 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
vue回到顶部监听滚动事件详解
2019/08/02 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
[02:15]2014DOTA2国际邀请赛 专访LGD.lin小兔子是大腿
2014/07/14 DOTA
[51:50]完美世界DOTA2联赛 Magma vs GXR 第一场 11.07
2020/11/10 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python读取csv文件示例(python操作csv)
2014/03/11 Python
Windows下搭建python开发环境详细步骤
2020/07/20 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
浅谈python之新式类
2018/08/12 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
python 实现目录复制的三种小结
2019/12/04 Python
使用 Supervisor 监控 Python3 进程方式
2019/12/05 Python
基于tensorflow for循环 while循环案例
2020/06/30 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
工厂保安员岗位职责
2014/01/31 职场文书
入党积极分子自我鉴定范文
2014/03/25 职场文书
店铺转让协议书
2014/12/02 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
一篇文章带你搞懂Python类的相关知识
2021/05/20 Python