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模块restful使用方法实例
Dec 10 Python
Python自动化构建工具scons使用入门笔记
Mar 10 Python
python按照多个字符对字符串进行分割的方法
Mar 17 Python
Python+matplotlib+numpy实现在不同平面的二维条形图
Jan 02 Python
Python简单计算文件MD5值的方法示例
Apr 11 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
一看就懂得Python的math模块
Oct 21 Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 Python
python绘制地震散点图
Jun 18 Python
详解Python 重学requests发起请求的基本方式
Feb 07 Python
详解python变量与数据类型
Aug 25 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调用数据库的存贮过程
2006/10/09 PHP
PHP 学习路线与时间表
2010/02/21 PHP
PHP数组array类常见操作示例
2020/05/15 PHP
在javascript中对于DOM的加强
2013/04/11 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
判断一个变量是数组Array类型的方法
2013/09/16 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
KnockoutJS 3.X API 第四章之表单submit、enable、disable绑定
2016/10/10 Javascript
Nodejs下用submit提交表单提示cannot post错误的解决方法
2016/11/21 NodeJs
jQuery扩展实现text提示还能输入多少字节的方法
2016/11/28 Javascript
JavaScript获取URL参数的方法之一
2017/03/24 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
微信小程序swiper禁止用户手动滑动代码实例
2019/08/23 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
Python中with及contextlib的用法详解
2017/06/08 Python
Python操作Sql Server 2008数据库的方法详解
2018/05/17 Python
python Tkinter版学生管理系统
2019/02/20 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
Python3从零开始搭建一个语音对话机器人的实现
2019/08/23 Python
Python对Excel按列值筛选并拆分表格到多个文件的代码
2019/11/05 Python
Python异步编程之协程任务的调度操作实例分析
2020/02/01 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
化妆师职业生涯规划书
2014/02/16 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
材料会计岗位职责
2014/03/06 职场文书
停电放假通知
2015/04/14 职场文书
七年级思品教学反思
2016/02/20 职场文书
JS实现简单控制视频播放倍速的实例代码
2021/04/18 Javascript
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫