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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python开发简易版在线音乐播放器
Mar 03 Python
python3+PyQt5实现自定义窗口部件Counters
Apr 20 Python
Python批处理删除和重命名文件夹的实例
Jul 11 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python 基于wxpy库实现微信添加好友功能(简洁)
Nov 29 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
python实现微信打飞机游戏
Mar 24 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
Python实现Canny及Hough算法代码实例解析
Aug 06 Python
如何用PyPy让你的Python代码运行得更快
Dec 02 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 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 利用AJAX获取网页并输出的实现代码(Zjmainstay)
2012/08/31 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php 判断网页是否是utf8编码的方法
2014/06/06 PHP
10个超级有用值得收藏的PHP代码片段
2015/01/22 PHP
php使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
laravel框架select2多选插件初始化默认选中项操作示例
2020/02/18 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
原生js三级联动的简单实现代码
2016/06/07 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
微信小程序仿通讯录功能
2020/04/09 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
[43:47]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第一局
2016/03/05 DOTA
python中readline判断文件读取结束的方法
2014/11/08 Python
Python中datetime模块参考手册
2017/01/13 Python
python图像常规操作
2017/11/11 Python
用python求一个数组的和与平均值的实现方法
2019/06/29 Python
Pycharm中如何关掉python console
2020/10/27 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
英国领先的男士服装和时尚零售商:Burton
2017/01/09 全球购物
巴西最大的玩具连锁店:Ri Happy
2020/06/17 全球购物
简历中个人自我评价分享
2014/03/15 职场文书
对党的十八届四中全会的期盼
2014/10/17 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
钱学森观后感
2015/06/04 职场文书
情感电台广播稿
2015/08/18 职场文书
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
使用Python开发冰球小游戏
2022/04/30 Python