浅析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抓取网页中的图片示例
Feb 28 Python
python使用Berkeley DB数据库实例
Sep 26 Python
Python中用于返回绝对值的abs()方法
May 14 Python
Python实现字典依据value排序
Feb 24 Python
python 多线程串行和并行的实例
Feb 22 Python
python下的opencv画矩形和文字注释的实现方法
Jul 09 Python
Python OpenCV实现鼠标画框效果
Aug 19 Python
python装饰器使用实例详解
Dec 14 Python
通过实例学习Python Excel操作
Jan 06 Python
python-xpath获取html文档的部分内容
Mar 06 Python
Python selenium模块实现定位过程解析
Jul 09 Python
python爬虫如何解决图片验证码
Feb 14 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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
Javascript----文件操作
2007/01/18 Javascript
javascript 利用Image对象实现的埋点(某处的点击数)统计
2012/12/28 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
javascript简易画板开发
2020/04/12 Javascript
javascript实现简单的ajax封装示例
2016/12/28 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
微信小程序开发教程之增加mixin扩展
2017/08/09 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
实例讲解v-if和v-show的区别
2019/01/31 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
angular组件间传值测试的方法详解
2020/05/07 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
详解python开发环境搭建
2016/12/16 Python
python使用matplotlib绘制热图
2018/11/07 Python
PyQt5 实现给窗口设置背景图片的方法
2019/06/13 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Shopee马来西亚:随拍即卖,最佳行动电商拍卖平台
2017/06/05 全球购物
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
淘宝店策划方案
2014/06/07 职场文书
大学生志愿者活动总结
2014/06/27 职场文书
保研专家推荐信范文
2015/03/25 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
三好学生竞选稿
2015/11/21 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
MySQL分库分表与分区的入门指南
2021/04/22 MySQL