浅析NumPy 切片和索引


Posted in Python onSeptember 02, 2020

ndarray对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。

ndarray 数组可以基于 0 - n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

import numpy as np
 
a = np.arange(10)
s = slice(2,7,2)  # 从索引 2 开始到索引 7 停止,间隔为2
print (a[s])

输出结果为:

[2 4 6]

以上实例中,我们首先通过 arange() 函数创建 ndarray 对象。 然后,分别设置起始,终止和步长的参数为 2,7 和 2。

我们也可以通过冒号分隔切片参数 start:stop:step 来进行切片操作:

import numpy as np
 
a = np.arange(10) 
b = a[2:7:2]  # 从索引 2 开始到索引 7 停止,间隔为 2
print(b)

输出结果为:

[2 4 6]

冒号 : 的解释:如果只放置一个参数,如 [2],将返回与该索引相对应的单个元素。如果为 [2:],表示从该索引开始以后的所有项都将被提取。如果使用了两个参数,如 [2:7],那么则提取两个索引(不包括停止索引)之间的项。

import numpy as np
 
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
b = a[5] 
print(b)

输出结果为:

5

import numpy as np
 
a = np.arange(10)
print(a[2:])

输出结果为:

[2 3 4 5 6 7 8 9]

import numpy as np
 
a = np.arange(10) # [0 1 2 3 4 5 6 7 8 9]
print(a[2:5])

输出结果为:

[2 3 4]

多维数组同样适用上述索引提取方法:

import numpy as np
 
a = np.array([[1,2,3],[3,4,5],[4,5,6]])
print(a)
# 从某个索引处开始切割
print('从数组索引 a[1:] 处开始切割')
print(a[1:])

输出结果为:

[[1 2 3]
[3 4 5]
[4 5 6]]
从数组索引 a[1:] 处开始切割
[[3 4 5]
[4 5 6]]

切片还可以包括省略号 …,来使选择元组的长度与数组的维度相同。 如果在行位置使用省略号,它将返回包含行中元素的 ndarray。

import numpy as np
 
a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
print (a[...,1])  # 第2列元素
print (a[1,...])  # 第2行元素
print (a[...,1:]) # 第2列及剩下的所有元素

输出结果为:

[2 4 5]
[3 4 5]
[[2 3]
[4 5]
[5 6]]

以上就是浅析NumPy 切片和索引的详细内容,更多关于NumPy 切片和索引的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
django 在原有表格添加或删除字段的实例
May 27 Python
python numpy 显示图像阵列的实例
Jul 02 Python
Python高级特性切片(Slice)操作详解
Sep 27 Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 Python
TensorFlow基本的常量、变量和运算操作详解
Feb 03 Python
PyCharm如何导入python项目的方法
Feb 06 Python
python+requests接口压力测试500次,查看响应时间的实例
Apr 30 Python
Python datetime模块使用方法小结
Jun 18 Python
Python3.7安装PyQt5 运行配置Pycharm的详细教程
Oct 15 Python
Python制作动态字符画的源码
Aug 04 Python
Django框架中模型的用法
Jun 10 Python
详解Python 函数参数的拆解
Sep 02 #Python
Python 常用日期处理 -- calendar 与 dateutil 模块的使用
Sep 02 #Python
python 常用日期处理-- datetime 模块的使用
Sep 02 #Python
详解Python中的路径问题
Sep 02 #Python
python dict如何定义
Sep 02 #Python
python基本算法之实现归并排序(Merge sort)
Sep 01 #Python
在pycharm中文件取消用 pytest模式打开的操作
Sep 01 #Python
You might like
PHP新手上路(七)
2006/10/09 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
客户端静态页面玩分页
2006/06/26 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JSONP基础知识详解
2017/03/19 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
利用JS实现scroll自定义滚动效果详解
2017/10/17 Javascript
vue-cli 组件的导入与使用教程详解
2018/04/11 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
layui自定义ajax左侧三级菜单
2019/07/26 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
python实现数通设备端口监控示例
2014/04/02 Python
Python map和reduce函数用法示例
2015/02/26 Python
浅谈python内置变量-reversed(seq)
2017/06/21 Python
Python将list中的string批量转化成int/float的方法
2018/06/26 Python
Python之列表实现栈的工作功能
2019/01/28 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
使用python turtle画高达
2020/01/19 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
Gap工厂店:Gap Factory
2017/11/02 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
教师档案管理制度
2014/01/23 职场文书
房屋租赁协议书
2014/04/10 职场文书
学习十八大的心得体会
2014/09/12 职场文书
个人职业及收入证明
2014/10/13 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
大学生毕业评语
2014/12/31 职场文书
KTV员工管理制度
2015/08/06 职场文书
python 实现定时任务的四种方式
2021/04/01 Python
python opencv通过按键采集图片源码
2021/05/20 Python