浅析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版
Dec 07 Python
python实现DNS正向查询、反向查询的例子
Apr 25 Python
Python打印“菱形”星号代码方法
Feb 05 Python
详谈python3中用for循环删除列表中元素的坑
Apr 19 Python
django的登录注册系统的示例代码
May 14 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
如何利用Boost.Python实现Python C/C++混合编程详解
Nov 08 Python
Pandas读写CSV文件的方法示例
Mar 27 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
python NumPy ndarray二维数组 按照行列求平均实例
Nov 26 Python
详解Python多线程下的list
Jul 03 Python
Python  Asyncio模块实现的生产消费者模型的方法
Mar 01 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+MYSQL 出现乱码的解决方法
2008/08/08 PHP
基于PHP创建Cookie数组的详解
2013/07/03 PHP
学习php中的正则表达式
2014/08/17 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
PHP PDOStatement::fetchColumn讲解
2019/01/31 PHP
JS 动态获取节点代码innerHTML分析 [IE,FF]
2009/11/30 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
JavaScript仿支付宝密码输入框
2015/12/29 Javascript
JavaScript中的this使用详解
2016/07/27 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
JavaScript实现简单的计算器
2020/01/16 Javascript
js实现淘宝浏览商品放大镜功能
2020/10/28 Javascript
详解JavaScript执行模型
2020/11/16 Javascript
[00:12]2018DOTA2亚洲邀请赛 Sccc亮相SOLO赛,今年他又会有什么样的战绩?
2018/04/06 DOTA
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
详解python中TCP协议中的粘包问题
2019/03/22 Python
PyTorch 普通卷积和空洞卷积实例
2020/01/07 Python
详解Canvas事件绑定
2018/06/27 HTML / CSS
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
美国儿童玩具、装扮和玩偶商店:Magic Cabin
2018/09/02 全球购物
经典优秀个人求职信分享
2013/12/12 职场文书
应届实习生的自我评价范文
2014/01/05 职场文书
大学毕业感言一句话
2014/02/06 职场文书
仓管员岗位责任制
2014/02/19 职场文书
社团个人总结范文
2015/03/05 职场文书
2016领导干部廉洁从政心得体会
2016/01/19 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
Python数组变形的几种实现方法
2022/05/30 Python