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 第一步 hello world
Sep 25 Python
Pyramid添加Middleware的方法实例
Nov 27 Python
Python模拟登陆淘宝并统计淘宝消费情况的代码实例分享
Jul 04 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
python 画3维轨迹图并进行比较的实例
Dec 06 Python
python实现简单日志记录库glog的使用
Dec 13 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
Python拼接字符串的7种方式详解
Mar 19 Python
Pandas时间序列基础详解(转换,索引,切片)
Feb 26 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 Python
浅析Django接口版本控制
Jun 26 Python
python中 Flask Web 表单的使用方法
May 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
解决在Laravel 中处理OPTIONS请求的问题
2019/10/11 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
JavaScript的Date()方法使用详解
2015/06/09 Javascript
jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表
2015/08/26 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
AngularJs Injecting Services Into Controllers详解
2016/09/02 Javascript
jQuery中用on绑定事件时需注意的事项
2017/03/19 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
2017/12/20 Javascript
微信小程序签到功能
2018/10/31 Javascript
原生JS实现动态添加新元素、删除元素方法
2019/05/05 Javascript
layui table复选框禁止某几条勾选的实例
2019/09/20 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[51:27]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
django 2.0更新的10条注意事项总结
2018/01/05 Python
python3爬虫学习之数据存储txt的案例详解
2019/04/24 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
基于TensorBoard中graph模块图结构分析
2020/02/15 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
python利用opencv实现颜色检测
2021/02/23 Python
2019史上最全Database工程师题库
2015/12/06 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
财务总经理岗位职责
2014/02/16 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
工作失职检讨书(精华篇)
2014/10/15 职场文书
技术股东合作协议书
2014/12/02 职场文书
搬迁通知
2015/04/20 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
OpenCV-Python实现油画效果的实例
2021/06/08 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL