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中pycurl库的用法实例
Sep 30 Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 Python
Python实现替换文件中指定内容的方法
Mar 19 Python
Python利用递归实现文件的复制方法
Oct 27 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
Nov 14 Python
基于python的Paxos算法实现
Jul 03 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
Oct 17 Python
python标准库os库的函数介绍
Feb 12 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 Python
利用python实现后端写网页(flask框架)
Feb 28 Python
python源文件的字符编码知识点详解
Mar 04 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
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
php获取指定数量随机字符串的方法
2017/02/06 PHP
PHP http请求超时问题解决方案
2020/11/13 PHP
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
node.js中的fs.realpath方法使用说明
2014/12/16 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
js自制图片放大镜功能
2017/01/24 Javascript
jQuery实现可编辑表格并生成json结果(实例代码)
2017/07/19 jQuery
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
js操作table中tr的顺序实现上移下移一行的效果
2018/11/22 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python中用Spark模块的使用教程
2015/04/13 Python
python实现简单购物商城
2016/05/21 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
详解【python】str与json类型转换
2019/04/29 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
详解Django配置JWT认证方式
2020/05/09 Python
html5 canvas绘制放射性渐变色效果
2018/01/04 HTML / CSS
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
Dr. Martens马汀博士官网:马丁靴始祖品牌
2016/10/15 全球购物
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
金讯Java笔试题目
2013/06/18 面试题
餐饮商业计划书范文
2014/04/29 职场文书
助人为乐模范事迹材料
2014/06/02 职场文书
庆国庆国旗下讲话稿2014
2014/09/21 职场文书
前台接待岗位职责
2015/02/03 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
Python语言中的数据类型-序列
2022/02/24 Python