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进程通信之匿名管道实例讲解
Apr 11 Python
Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】
Jul 11 Python
python仿抖音表白神器
Apr 08 Python
python使用yield压平嵌套字典的超简单方法
Nov 02 Python
python框架django项目部署相关知识详解
Nov 04 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
Nov 19 Python
python识别验证码图片实例详解
Feb 17 Python
Python 之 Json序列化嵌套类方式
Feb 27 Python
pyCharm 实现关闭代码检查
Jun 09 Python
python 使用OpenCV进行简单的人像分割与合成
Feb 02 Python
Python生成九宫格图片的示例代码
Apr 14 Python
使用python向MongoDB插入时间字段的操作
May 18 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
第十节 抽象方法和抽象类 [10]
2006/10/09 PHP
Windows下安装Memcached的步骤说明
2010/04/25 PHP
PHP实现数据四舍五入的方法小结【4种方法】
2019/03/27 PHP
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
jQuery实现统计输入文字个数的方法
2015/03/11 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
JavaScript的ExtJS框架中表格的编写教程
2016/05/21 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
详解使用angular框架离线你的应用(pwa指南)
2019/01/31 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
javascript实现支付宝滑块验证码效果
2020/07/24 Javascript
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
python生成日历实例解析
2014/08/21 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
Numpy数组的保存与读取方法
2018/04/04 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
2018/10/11 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
django数据模型(Model)的字段类型解析
2019/12/25 Python
利用python3 的pygame模块实现塔防游戏
2019/12/30 Python
python else语句在循环中的运用详解
2020/07/06 Python
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
餐饮业员工工作决心书
2014/03/11 职场文书
市场拓展计划书
2014/05/03 职场文书
音乐课外活动总结
2015/05/09 职场文书
环保主题班会教案
2015/08/13 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
只用50行Python代码爬取网络美女高清图片
2021/06/02 Python
Vue+Flask实现图片传输功能
2022/04/01 Vue.js
详解Vue3使用axios的配置教程
2022/04/29 Vue.js