浅析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 相关文章推荐
10分钟教你用Python实现微信自动回复功能
Nov 28 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
Python爬取智联招聘数据分析师岗位相关信息的方法
Aug 13 Python
Python 使用指定的网卡发送HTTP请求的实例
Aug 21 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
解决Tensorboard 不显示计算图graph的问题
Feb 15 Python
python 连续不等式语法糖实例
Apr 15 Python
python同时遍历两个list用法说明
May 02 Python
python下载的库包存放路径
Jul 27 Python
python 实现单例模式的5种方法
Sep 23 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 Python
python中validators库的使用方法详解
Sep 23 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详细彻底学习Smarty
2008/03/27 PHP
Search File Contents PHP 搜索目录文本内容的代码
2010/02/21 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
深入浅析php中sprintf与printf函数的用法及区别
2016/01/08 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
php验证身份证号码正确性的函数
2016/07/20 PHP
PHP实现针对日期,月数,天数,周数,小时,分,秒等的加减运算示例【基于strtotime】
2017/04/19 PHP
js脚本学习 比较实用的基础
2006/09/07 Javascript
SWFObject Flash js调用类
2008/07/08 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
javascript arguments使用示例
2014/12/16 Javascript
详解Bootstrap glyphicons字体图标
2016/01/04 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
vue调用高德地图实例代码
2017/04/28 Javascript
python操作MySQL数据库的方法分享
2012/05/29 Python
Python正则表达式知识汇总
2017/09/22 Python
深入理解Python3 内置函数大全
2017/11/23 Python
使用Python实现跳帧截取视频帧
2019/05/31 Python
Tensorflow实现酸奶销量预测分析
2019/07/19 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
python从zip中删除指定后缀文件(推荐)
2019/12/05 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
不假外出检讨书
2014/01/27 职场文书
收银员岗位职责
2014/02/07 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
项目经理任命书范本
2014/06/05 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
与死神共舞观后感
2015/06/15 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书
学生会自荐信
2019/05/16 职场文书
JPA 通过Specification如何实现复杂查询
2021/11/23 Java/Android